blob: 6afcdfe4d1c3dea32ae19899edca25c19aa1ae71 [file] [log] [blame]
#![feature(type_alias_impl_trait)]
use std::fmt::Debug;
fn main() {}
type Two<A, B> = impl Debug;
trait Foo {
type Bar: Debug;
const BAR: Self::Bar;
}
fn two<T: Debug + Foo, U: Debug>(t: T, u: U) -> Two<T, U> {
(t, u, T::BAR)
//~^ ERROR the trait bound `A: Foo` is not satisfied
//~| ERROR `A` doesn't implement `Debug`
//~| ERROR `B` doesn't implement `Debug`
}
fn three<T: Debug, U: Debug>(t: T, u: U) -> Two<T, U> {
(t, u, 42)
//~^ ERROR `A` doesn't implement `Debug`
//~| ERROR `B` doesn't implement `Debug`
}