diff options
| author | Camelid <camelidcamel@gmail.com> | 2021-01-10 12:45:58 -0800 |
|---|---|---|
| committer | Camelid <camelidcamel@gmail.com> | 2021-01-10 12:51:48 -0800 |
| commit | 2750e362092b690494f408d5cde9436c3ccc5ae3 (patch) | |
| tree | 0b6fb5cb09164759547223dc130405318311b401 | |
| parent | f30733adb9150a9b965a6af1650d5213bec8ddf6 (diff) | |
| download | rust-2750e362092b690494f408d5cde9436c3ccc5ae3.tar.gz rust-2750e362092b690494f408d5cde9436c3ccc5ae3.zip | |
rustdoc: Resolve `&str` as `str`
People almost always are referring to `&str`, not `str`, so this will save a manual link resolve in many cases. Note that we already accept `&` (resolves to `reference`) in intra-doc links, so this shouldn't cause breakage.
| -rw-r--r-- | src/librustdoc/passes/collect_intra_doc_links.rs | 2 | ||||
| -rw-r--r-- | src/test/rustdoc/intra-doc/non-path-primitives.rs | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs index 11ee59b2401..0eb5c63cef5 100644 --- a/src/librustdoc/passes/collect_intra_doc_links.rs +++ b/src/librustdoc/passes/collect_intra_doc_links.rs @@ -2086,7 +2086,7 @@ fn resolve_primitive(path_str: &str, ns: Namespace) -> Option<Res> { "f64" => F64, "char" => Char, "bool" | "true" | "false" => Bool, - "str" => Str, + "str" | "&str" => Str, // See #80181 for why these don't have symbols associated. "slice" => Slice, "array" => Array, diff --git a/src/test/rustdoc/intra-doc/non-path-primitives.rs b/src/test/rustdoc/intra-doc/non-path-primitives.rs index ad4f6ddd9de..28256a442d7 100644 --- a/src/test/rustdoc/intra-doc/non-path-primitives.rs +++ b/src/test/rustdoc/intra-doc/non-path-primitives.rs @@ -8,6 +8,15 @@ // @has - '//a[@href="https://doc.rust-lang.org/nightly/std/primitive.array.html#method.map"]' 'array::map' //! [array::map] +// @has - '//a[@href="https://doc.rust-lang.org/nightly/std/primitive.str.html"]' 'owned str' +// @has - '//a[@href="https://doc.rust-lang.org/nightly/std/primitive.str.html"]' 'str ref' +// @has - '//a[@href="https://doc.rust-lang.org/nightly/std/primitive.str.html#method.is_empty"]' 'str::is_empty' +// @has - '//a[@href="https://doc.rust-lang.org/nightly/std/primitive.str.html#method.len"]' '&str::len' +//! [owned str][str] +//! [str ref][&str] +//! [str::is_empty] +//! [&str::len] + // @has - '//a[@href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html#method.is_null"]' 'pointer::is_null' // @has - '//a[@href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html#method.is_null"]' '*const::is_null' // @has - '//a[@href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html#method.is_null"]' '*mut::is_null' |
