summaryrefslogtreecommitdiffstats
path: root/src/test/ui/generic-associated-types/issue-87748.rs
blob: 6cbe3d9022330091f19a33330997c867463fafdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Checks that we properly add implied bounds from unnormalized projections in
// inputs when typechecking functions.

// check-pass

trait MyTrait {
    type Assoc<'a, 'b> where 'b: 'a;
    fn do_sth(arg: Self::Assoc<'_, '_>);
    fn do_sth2(arg: Self::Assoc<'_, '_>) {}
}

struct Foo;

impl MyTrait for Foo {
    type Assoc<'a, 'b> = u32 where 'b: 'a;

    fn do_sth(_: u32) {}
    fn do_sth2(_: Self::Assoc<'static, 'static>) {}
}

fn main() {}