about summary refs log tree commit diff
path: root/tests/ui/impl-trait/in-trait/refine-resolution-errors.rs
blob: 8433fb72b5e0a141b8de0a8b16e41ac58b298f67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// This is a non-regression test for issue #126670 where RPITIT refinement checking encountered
// errors during resolution and ICEd.

//@ edition: 2018

pub trait Mirror {
    type Assoc;
}
impl<T: ?Sized> Mirror for () {
    //~^ ERROR the type parameter `T` is not constrained
    type Assoc = T;
    //~^ ERROR the size for values of type `T` cannot be known at compilation time
}

pub trait First {
    async fn first() -> <() as Mirror>::Assoc;
}

impl First for () {
    async fn first() {}
}

fn main() {}