2022-07-16 18:35:56 -07:00
|
|
|
#![feature(type_alias_impl_trait)]
|
|
|
|
|
|
|
|
struct Concrete;
|
|
|
|
|
|
|
|
type Tait = impl Sized;
|
|
|
|
|
|
|
|
impl Foo for Concrete {
|
|
|
|
type Item = Concrete;
|
2022-07-02 16:37:49 +03:00
|
|
|
//~^ type mismatch resolving
|
2022-07-16 18:35:56 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
impl Bar for Concrete {
|
|
|
|
type Other = Tait;
|
|
|
|
}
|
|
|
|
|
|
|
|
trait Foo {
|
|
|
|
type Item: Bar<Other = Self>;
|
|
|
|
}
|
|
|
|
|
|
|
|
trait Bar {
|
|
|
|
type Other;
|
|
|
|
}
|
|
|
|
|
|
|
|
fn tait() -> Tait {}
|
|
|
|
|
|
|
|
fn main() {}
|