2018-04-10 11:04:32 +09:00
|
|
|
trait Foo {}
|
|
|
|
|
|
|
|
trait Bar<T> {}
|
|
|
|
|
|
|
|
trait Iterable {
|
|
|
|
type Item;
|
|
|
|
}
|
|
|
|
|
|
|
|
struct Container<T: Iterable<Item = impl Foo>> {
|
2022-02-17 19:18:42 -08:00
|
|
|
//~^ ERROR `impl Trait` only allowed in function and inherent method return types
|
2018-04-10 11:04:32 +09:00
|
|
|
field: T
|
|
|
|
}
|
|
|
|
|
|
|
|
enum Enum<T: Iterable<Item = impl Foo>> {
|
2022-02-17 19:18:42 -08:00
|
|
|
//~^ ERROR `impl Trait` only allowed in function and inherent method return types
|
2018-04-10 11:04:32 +09:00
|
|
|
A(T),
|
|
|
|
}
|
|
|
|
|
|
|
|
union Union<T: Iterable<Item = impl Foo> + Copy> {
|
2022-02-17 19:18:42 -08:00
|
|
|
//~^ ERROR `impl Trait` only allowed in function and inherent method return types
|
2018-04-10 11:04:32 +09:00
|
|
|
x: T,
|
|
|
|
}
|
|
|
|
|
|
|
|
type Type<T: Iterable<Item = impl Foo>> = T;
|
2022-02-17 19:18:42 -08:00
|
|
|
//~^ ERROR `impl Trait` only allowed in function and inherent method return types
|
2018-04-10 11:04:32 +09:00
|
|
|
|
|
|
|
fn main() {
|
|
|
|
}
|