]>
Commit | Line | Data |
---|---|---|
29967ef6 XL |
1 | // Make sure that we check that impl trait types implement the traits that they |
2 | // claim to. | |
3 | ||
94222f64 | 4 | #![feature(type_alias_impl_trait)] |
29967ef6 XL |
5 | |
6 | type X<T> = impl Clone; | |
7 | //~^ ERROR the trait bound `T: Clone` is not satisfied | |
8 | ||
9 | fn f<T: Clone>(t: T) -> X<T> { | |
10 | t | |
11 | } | |
12 | ||
13 | fn g<T>(o: Option<X<T>>) -> Option<X<T>> { | |
14 | o.clone() | |
15 | } | |
16 | ||
17 | fn main() { | |
18 | g(None::<X<&mut ()>>); | |
19 | } |