Add tests for new tyalias intra-doc link disambiguator
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
// Ensure that no warning is emitted if the disambiguator is used for type alias.
|
||||||
|
// Regression test for <https://github.com/rust-lang/rust/issues/146855>.
|
||||||
|
|
||||||
|
#![deny(rustdoc::broken_intra_doc_links)]
|
||||||
|
|
||||||
|
pub struct Foo;
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
pub type f32 = Foo;
|
||||||
|
|
||||||
|
/// This function returns [`f32`].
|
||||||
|
//~^ ERROR: `f32` is both a type alias and a primitive type
|
||||||
|
//~| HELP: to link to the type alias, prefix with `tyalias@`
|
||||||
|
//~| HELP: to link to the primitive type, prefix with `prim@`
|
||||||
|
pub fn my_fn() -> f32 {}
|
||||||
|
|
||||||
|
/// This function returns [type@f32].
|
||||||
|
//~^ ERROR: `f32` is both a type alias and a primitive type
|
||||||
|
//~| HELP: to link to the type alias, prefix with `tyalias@`
|
||||||
|
//~| HELP: to link to the primitive type, prefix with `prim@`
|
||||||
|
pub fn my_fn2() -> f32 {}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
error: `f32` is both a type alias and a primitive type
|
||||||
|
--> $DIR/type-alias-primitive-suggestion.rs:11:29
|
||||||
|
|
|
||||||
|
LL | /// This function returns [`f32`].
|
||||||
|
| ^^^ ambiguous link
|
||||||
|
|
|
||||||
|
note: the lint level is defined here
|
||||||
|
--> $DIR/type-alias-primitive-suggestion.rs:4:9
|
||||||
|
|
|
||||||
|
LL | #![deny(rustdoc::broken_intra_doc_links)]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
help: to link to the type alias, prefix with `tyalias@`
|
||||||
|
|
|
||||||
|
LL | /// This function returns [`tyalias@f32`].
|
||||||
|
| ++++++++
|
||||||
|
help: to link to the primitive type, prefix with `prim@`
|
||||||
|
|
|
||||||
|
LL | /// This function returns [`prim@f32`].
|
||||||
|
| +++++
|
||||||
|
|
||||||
|
error: `f32` is both a type alias and a primitive type
|
||||||
|
--> $DIR/type-alias-primitive-suggestion.rs:17:28
|
||||||
|
|
|
||||||
|
LL | /// This function returns [type@f32].
|
||||||
|
| ^^^^^^^^ ambiguous link
|
||||||
|
|
|
||||||
|
help: to link to the type alias, prefix with `tyalias@`
|
||||||
|
|
|
||||||
|
LL - /// This function returns [type@f32].
|
||||||
|
LL + /// This function returns [tyalias@f32].
|
||||||
|
|
|
||||||
|
help: to link to the primitive type, prefix with `prim@`
|
||||||
|
|
|
||||||
|
LL - /// This function returns [type@f32].
|
||||||
|
LL + /// This function returns [prim@f32].
|
||||||
|
|
|
||||||
|
|
||||||
|
error: aborting due to 2 previous errors
|
||||||
|
|
||||||
14
tests/rustdoc-ui/intra-doc/type-alias-primitive.rs
Normal file
14
tests/rustdoc-ui/intra-doc/type-alias-primitive.rs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
// Ensure that no warning is emitted if the disambiguator is used for type alias.
|
||||||
|
// Regression test for <https://github.com/rust-lang/rust/issues/146855>.
|
||||||
|
|
||||||
|
//@ check-pass
|
||||||
|
|
||||||
|
#![deny(rustdoc::broken_intra_doc_links)]
|
||||||
|
|
||||||
|
pub struct Foo;
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
pub type f32 = Foo;
|
||||||
|
|
||||||
|
/// This function returns [`tyalias@f32`] and not [`prim@f32`].
|
||||||
|
pub fn my_fn() -> f32 {}
|
||||||
21
tests/rustdoc/intra-doc/type-alias-primitive.rs
Normal file
21
tests/rustdoc/intra-doc/type-alias-primitive.rs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
// Ensure that no warning is emitted if the disambiguator is used for type alias.
|
||||||
|
// Regression test for <https://github.com/rust-lang/rust/issues/146855>.
|
||||||
|
|
||||||
|
#![crate_name = "foo"]
|
||||||
|
#![deny(rustdoc::broken_intra_doc_links)]
|
||||||
|
|
||||||
|
pub struct Foo;
|
||||||
|
|
||||||
|
#[allow(non_camel_case_types)]
|
||||||
|
pub type f32 = Foo;
|
||||||
|
|
||||||
|
/// This function returns [`tyalias@f32`] and not [bla][`prim@f32`].
|
||||||
|
//@ has 'foo/fn.my_fn.html'
|
||||||
|
//@ has - '//a[@href="type.f32.html"]' "f32"
|
||||||
|
//@ has - '//a[@href="{{channel}}/std/primitive.f32.html"]' "bla"
|
||||||
|
pub fn my_fn() -> f32 { 0. }
|
||||||
|
|
||||||
|
/// This function returns [`typealias@f32`].
|
||||||
|
//@ has 'foo/fn.my_other_fn.html'
|
||||||
|
//@ has - '//a[@href="type.f32.html"]' "f32"
|
||||||
|
pub fn my_other_fn() -> f32 { 0. }
|
||||||
Reference in New Issue
Block a user