From 9b8a6b97e5fc08a8f5a1aedc803e1f7b44dd50b5 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez <guillaume.gomez@huawei.com> Date: Sun, 27 Feb 2022 12:07:54 +0100 Subject: [PATCH] Add test to ensure that links to impls are correctly generated --- src/test/rustdoc/issue-78701.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/test/rustdoc/issue-78701.rs diff --git a/src/test/rustdoc/issue-78701.rs b/src/test/rustdoc/issue-78701.rs new file mode 100644 index 00000000000..796d553fac4 --- /dev/null +++ b/src/test/rustdoc/issue-78701.rs @@ -0,0 +1,20 @@ +#![crate_name = "foo"] + +// This test ensures that if a blanket impl has the same ID as another impl, it'll +// link to the blanket impl and not the other impl. Basically, we're checking if +// the ID is correctly derived. + +// @has 'foo/struct.AnotherStruct.html' +// @count - '//*[@class="sidebar"]//a[@href="#impl-AnAmazingTrait"]' 1 +// @count - '//*[@class="sidebar"]//a[@href="#impl-AnAmazingTrait-1"]' 1 + +pub trait Something {} + +pub trait AnAmazingTrait {} + +impl<T: Something> AnAmazingTrait for T {} + +pub struct AnotherStruct<T>(T); + +impl<T: Something> Something for AnotherStruct<T> {} +impl AnAmazingTrait for AnotherStruct<()> {}