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