about summary refs log tree commit diff
path: root/tests/ui/type-alias-impl-trait/nested.rs
blob: 1a89039af8a7ed25f5fb9c3a5b8aa7aea97c6f41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#![feature(type_alias_impl_trait)]

type Foo = impl std::fmt::Debug;
type Bar = impl Trait<Foo>;

trait Trait<T> {}

impl<T, U> Trait<T> for U {}

#[define_opaque(Bar)]
fn bar() -> Bar {
    //~^ ERROR: item does not constrain
    42
}

fn main() {
    println!("{:?}", bar());
    //~^ ERROR `Bar` doesn't implement `Debug`
}