3583e86674
This whole thing changes it so that the JS and the UI both use rustc's own path printing to handle the impl IDs. This results in the format changing a little bit; full paths are used in spots where they aren't strictly necessary, and the path sometimes uses generics where the old system used the trait's own name, but it shouldn't matter since the orphan rules will prevent it anyway.
21 lines
664 B
Rust
21 lines
664 B
Rust
#![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-for-AnotherStruct%3C()%3E"]' 1
|
|
// @count - '//*[@class="sidebar"]//a[@href="#impl-AnAmazingTrait-for-T"]' 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<()> {}
|