mirror of https://github.com/rust-lang/rust
32 lines
657 B
Rust
32 lines
657 B
Rust
#![feature(type_alias_impl_trait)]
|
|
|
|
mod a {
|
|
type Foo = impl PartialEq<(Foo, i32)>;
|
|
//~^ ERROR: unconstrained opaque type
|
|
|
|
struct Bar;
|
|
|
|
impl PartialEq<(Bar, i32)> for Bar {
|
|
fn eq(&self, _other: &(Foo, i32)) -> bool {
|
|
//~^ ERROR: `eq` has an incompatible type for trait
|
|
true
|
|
}
|
|
}
|
|
}
|
|
|
|
mod b {
|
|
type Foo = impl PartialEq<(Foo, i32)>;
|
|
//~^ ERROR: unconstrained opaque type
|
|
|
|
struct Bar;
|
|
|
|
impl PartialEq<(Foo, i32)> for Bar {
|
|
fn eq(&self, _other: &(Bar, i32)) -> bool {
|
|
//~^ ERROR: `eq` has an incompatible type for trait
|
|
true
|
|
}
|
|
}
|
|
}
|
|
|
|
fn main() {}
|