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

mod case1 {
    type Opaque<'x> = impl Sized + 'x;
    #[define_opaque(Opaque)]
    fn foo<'s>() -> Opaque<'s> {
        let _ = || { let _: Opaque<'s> = (); };
        //~^ ERROR expected generic lifetime parameter, found `'_`
    }
}

mod case2 {
    type Opaque<'x> = impl Sized + 'x;
    #[define_opaque(Opaque)]
    fn foo<'s>() -> Opaque<'s> {
        let _ = || -> Opaque<'s> {};
        //~^ ERROR expected generic lifetime parameter, found `'_`
    }
}

fn main() {}