summaryrefslogtreecommitdiffstats
path: root/src/test/ui/associated-type-bounds/issue-61752.rs
blob: f38ec640e1781d32095c0dd2ddb8415afa5e80d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// check-pass

#![feature(associated_type_bounds)]

trait Foo {
    type Bar;
}

impl Foo for () {
    type Bar = ();
}

fn a<F: Foo>() where F::Bar: Copy {}

fn b<F: Foo>() where <F as Foo>::Bar: Copy {}

// This used to complain about ambiguous associated types.
fn c<F: Foo<Bar: Foo>>() where F::Bar: Copy {}

fn main() {
    a::<()>();
    b::<()>();
    c::<()>();
}