mirror of https://github.com/rust-lang/rust
28 lines
670 B
Rust
28 lines
670 B
Rust
#![feature(impl_trait_in_assoc_type)]
|
|
|
|
mod compare_ty {
|
|
trait Trait {
|
|
type Ty: IntoIterator<Item = ()>;
|
|
}
|
|
impl Trait for () {
|
|
type Ty = Option<impl Sized>;
|
|
//~^ ERROR: unconstrained opaque type
|
|
//~| ERROR: type mismatch resolving `<Option<<() as Trait>::Ty::{opaque#0}> as IntoIterator>::Item == ()`
|
|
}
|
|
}
|
|
|
|
mod compare_method {
|
|
trait Trait {
|
|
type Ty;
|
|
fn method() -> Self::Ty;
|
|
}
|
|
impl Trait for () {
|
|
type Ty = impl Sized;
|
|
//~^ ERROR: unconstrained opaque type
|
|
fn method() -> () {}
|
|
//~^ ERROR: method `method` has an incompatible type for trait
|
|
}
|
|
}
|
|
|
|
fn main() {}
|