]> git.lizzy.rs Git - rust.git/blob - src/test/ui/traits/alias/syntax.rs
Rollup merge of #100953 - joshtriplett:write-docs, r=Mark-Simulacrum
[rust.git] / src / test / ui / traits / alias / syntax.rs
1 // run-pass
2
3 #![feature(trait_alias)]
4
5 trait SimpleAlias = Default;
6 trait GenericAlias<T> = Iterator<Item = T>;
7 trait Partial<T> = IntoIterator<Item = T>;
8 trait SpecificAlias = GenericAlias<i32>;
9 trait PartialEqRef<'a, T: 'a> = PartialEq<&'a T>;
10 trait StaticAlias = 'static;
11
12 trait Things<T> {}
13 trait Romeo {}
14 #[allow(dead_code)]
15 struct The<T>(T);
16 #[allow(dead_code)]
17 struct Fore<T>(T);
18 impl<T, U> Things<T> for The<U> {}
19 impl<T> Romeo for Fore<T> {}
20
21 trait WithWhere<Art, Thou> = Romeo + Romeo where Fore<(Art, Thou)>: Romeo;
22 trait BareWhere<Wild, Are> = where The<Wild>: Things<Are>;
23
24 fn main() {}