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