rust/src/librustdoc
bors 5ffebc2cb3 Auto merge of #96301 - notriddle:notriddle/synthetic-impl-prim, r=GuillaumeGomez
rustdoc: make primitive synthetic impls for correct doc module

This improves the accuracy of libcore primitive docs, which was missing the blanket and auto impls for most primitive types. To test this, compare nightly [libcore::str] docs, which lack auto traits like Send, with [std::str] docs, which show them.

[libcore::str]: https://doc.rust-lang.org/nightly/core/primitive.str.html
[libstd::str]: https://doc.rust-lang.org/nightly/std/primitive.str.html

It also avoids getting synthetic impls for primitive types on crates that do not actually show them.

<details>

<summary>Before and After trace logs</summary>

## Before

	[notriddle@deep-thought test-dingus]$ RUSTDOC_LOG=rustdoc=trace rustdoc +nightly test.rs 2>&1 | grep -E 'get_blanket_impls\('
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(Whatever)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(isize)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls([T])
	TRACE rustdoc::clean::blanket_impl get_blanket_impls([u8])
	TRACE rustdoc::clean::blanket_impl get_blanket_impls([T])
	TRACE rustdoc::clean::blanket_impl get_blanket_impls([u8])
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(char)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(u128)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(u16)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(i128)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(i16)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(str)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(str)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(f64)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(f64)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(u64)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(u8)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(i64)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(i8)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(*const T)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(*mut T)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(*const [T])
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(*mut [T])
	TRACE rustdoc::clean::blanket_impl get_blanket_impls([T; N])
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(bool)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(f32)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(f32)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(u32)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(usize)
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(i32)

## After

	[notriddle@deep-thought test-dingus]$ RUSTDOC_LOG=rustdoc=trace rustdoc +dev test.rs 2>&1 | grep -E 'get_blanket_impls\('
	TRACE rustdoc::clean::blanket_impl get_blanket_impls(Whatever)

</details>
2022-04-22 16:47:13 +00:00
..
clean rustdoc: Unindent doc fragments on Attributes construction 2022-04-21 16:13:02 +03:00
doctest Rename TestOptions to GlobalTestOptions 2021-12-12 17:46:19 -08:00
formats Rollup merge of #96142 - cjgillot:no-crate-def-index, r=petrochenkov 2022-04-19 14:43:21 +02:00
html Auto merge of #96260 - Kobzol:rustdoc-idmap, r=petrochenkov 2022-04-21 18:31:57 +00:00
json Stop using CRATE_DEF_INDEX. 2022-04-17 12:14:42 +02:00
passes Auto merge of #96301 - notriddle:notriddle/synthetic-impl-prim, r=GuillaumeGomez 2022-04-22 16:47:13 +00:00
theme Clean up rustdoc static files 2021-07-07 17:52:18 +02:00
askama.toml Move back templates into html folder 2022-01-19 11:13:24 +01:00
Cargo.toml rustdoc: Optimize IdMap 2022-04-21 00:15:04 +02:00
config.rs librustdoc: adopt let else in more places 2022-03-04 10:33:29 +01:00
core.rs rustdoc: Cache preprocessed markdown links 2022-04-19 22:53:50 +03:00
docfs.rs rustdoc: Remove a single-use macro 2021-10-28 18:39:32 -07:00
doctest.rs rustdoc: Unindent doc fragments on Attributes construction 2022-04-21 16:13:02 +03:00
error.rs Simplify rendering of stylesheet links into HTML 2021-11-24 19:41:47 -08:00
externalfiles.rs librustdoc: adopt let else in more places 2022-03-04 10:33:29 +01:00
fold.rs rustdoc: discr. required+provided assoc consts+tys 2022-04-12 15:38:39 +02:00
lib.rs [WIP] rustdoc: Resolve some more doc links early 2022-04-21 01:18:02 +03:00
lint.rs Warn when rustdoc:: group is omitted from lint names 2021-07-03 15:32:09 -04:00
markdown.rs Remove a format invocation 2022-04-12 11:04:37 -04:00
README.md rust-lang.github.io/rustc-dev-guide -> rustc-dev-guide.rust-lang.org 2020-03-10 17:08:18 -03:00
scrape_examples.rs Add Rustdoc book link to scrape examples help. Remove remaining panic 2022-04-12 11:05:07 -07:00
theme.rs rustdoc: Reduce allocations in a theme function 2022-04-10 19:17:38 -04:00
visit.rs rustdoc: discr. required+provided assoc consts+tys 2022-04-12 15:38:39 +02:00
visit_ast.rs remove find_use_placement 2022-03-31 17:20:03 -04:00
visit_lib.rs Stop using CRATE_DEF_INDEX. 2022-04-17 12:14:42 +02:00

For more information about how librustdoc works, see the rustc dev guide.