about summary refs log tree commit diff
path: root/tests/ui/impl-trait/issues/issue-77987.rs
blob: f134224071f71bbd8ec57d117f5dd89f3cd69372 (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)]

//@ check-pass

pub trait Foo<T> {}
impl<T, U> Foo<T> for U {}

pub type Scope = impl Foo<()>;

#[allow(unused)]
#[define_opaque(Scope)]
fn infer_scope() -> Scope {
    ()
}

#[allow(unused)]
fn ice() -> impl Foo<Scope> {
    loop {}
}

fn main() {}