1 #![feature(trait_alias)]
2 
3 #![crate_name = "foo"]
4 
5 use std::fmt::Debug;
6 
7 // @has foo/all.html '//a[@href="traitalias.CopyAlias.html"]' 'CopyAlias'
8 // @has foo/all.html '//a[@href="traitalias.Alias2.html"]' 'Alias2'
9 // @has foo/all.html '//a[@href="traitalias.Foo.html"]' 'Foo'
10 
11 // @has foo/index.html '//h2[@id="trait-aliases"]' 'Trait aliases'
12 // @has foo/index.html '//a[@class="traitalias"]' 'CopyAlias'
13 // @has foo/index.html '//a[@class="traitalias"]' 'Alias2'
14 // @has foo/index.html '//a[@class="traitalias"]' 'Foo'
15 
16 // @has foo/traitalias.CopyAlias.html
17 // @has - '//section[@id="main"]/div[@class="docblock item-decl"]/pre' 'trait CopyAlias = Copy;'
18 pub trait CopyAlias = Copy;
19 // @has foo/traitalias.Alias2.html
20 // @has - '//section[@id="main"]/div[@class="docblock item-decl"]/pre' 'trait Alias2 = Copy + Debug;'
21 pub trait Alias2 = Copy + Debug;
22 // @has foo/traitalias.Foo.html
23 // @has - '//section[@id="main"]/div[@class="docblock item-decl"]/pre' 'trait Foo<T> = Into<T> + Debug;'
24 pub trait Foo<T> = Into<T> + Debug;
25 // @has foo/fn.bar.html '//a[@href="traitalias.Alias2.html"]' 'Alias2'
26 pub fn bar<T>() where T: Alias2 {}
27