1 // revisions: min_tait full_tait
2 #![feature(min_type_alias_impl_trait)]
3 #![cfg_attr(full_tait, feature(type_alias_impl_trait))]
4 //[full_tait]~^ WARN incomplete
10 type Two<A, B> = impl Debug;
11 //~^ ERROR the trait bound `A: Foo` is not satisfied in `(A, B, <A as Foo>::Bar)`
12 //~| ERROR `A` doesn't implement `Debug`
13 //~| ERROR `B` doesn't implement `Debug`
20 fn two<T: Debug + Foo, U: Debug>(t: T, u: U) -> Two<T, U> {
24 fn three<T: Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
25 (t, u, 42) //~^ ERROR concrete type differs from previous