blob: ef64d799b65cfcbd374320406dee2b2cd33eef8f [file] [log] [blame]
trait Trait {
fn func1() -> Struct1<Self>; //~ ERROR E0277
fn func2<'a>() -> Struct2<'a, Self>; //~ ERROR E0277
fn func3() -> Struct3<Self>; //~ ERROR E0277
fn func4() -> Struct4<Self>; //~ ERROR E0277
}
struct Struct1<T>{
_t: std::marker::PhantomData<*const T>,
}
struct Struct2<'a, T>{
_t: &'a T,
}
struct Struct3<T>{
_t: T,
}
struct X<T>(T);
struct Struct4<T>{
_t: X<T>,
}
struct Struct5<T: ?Sized>{
_t: X<T>, //~ ERROR E0277
}
fn main() {}