about summary refs log tree commit diff
path: root/tests/rustdoc/impl/blanket-impl-78673.rs
blob: 412d4057406e4b6e7e3ab3feac31924dee8023c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// https://github.com/rust-lang/rust/issues/78673
#![crate_name = "issue_78673"]

pub trait Something {}

pub trait AnAmazingTrait {}

impl<T: Something> AnAmazingTrait for T {}

//@ has 'issue_78673/struct.MyStruct.html'
//@ has  - '//*[@class="impl"]' 'AnAmazingTrait for MyStruct'
//@ !has - '//*[@class="impl"]' 'AnAmazingTrait for T'
pub struct MyStruct;

impl AnAmazingTrait for MyStruct {}

// generic structs may have _both_ specific and blanket impls that apply

//@ has 'issue_78673/struct.AnotherStruct.html'
//@ has - '//*[@class="impl"]' 'AnAmazingTrait for AnotherStruct<()>'
//@ has - '//*[@class="impl"]' 'AnAmazingTrait for T'
pub struct AnotherStruct<T>(T);

impl<T: Something> Something for AnotherStruct<T> {}
impl AnAmazingTrait for AnotherStruct<()> {}