1 error[E0658]: associated type bounds are unstable
2 --> $DIR/missing-assoc-fn.rs:9:22
4 LL | fn bat<T: TraitB<Item: Copy>>(_: T) -> Self;
7 = note: see issue #52662 <https://github.com/rust-lang/rust/issues/52662> for more information
8 = help: add `#![feature(associated_type_bounds)]` to the crate attributes to enable
10 error[E0046]: not all trait items implemented, missing: `foo`, `bar`, `baz`, `bat`
11 --> $DIR/missing-assoc-fn.rs:14:1
13 LL | fn foo<T: TraitB<Item = A>>(_: T) -> Self;
14 | ------------------------------------------ `foo` from trait
15 LL | fn bar<T>(_: T) -> Self;
16 | ------------------------ `bar` from trait
17 LL | fn baz<T>(_: T) -> Self where T: TraitB, <T as TraitB>::Item: Copy;
18 | ------------------------------------------------------------------- `baz` from trait
19 LL | fn bat<T: TraitB<Item: Copy>>(_: T) -> Self;
20 | -------------------------------------------- `bat` from trait
22 LL | impl TraitA<()> for S {
23 | ^^^^^^^^^^^^^^^^^^^^^ missing `foo`, `bar`, `baz`, `bat` in implementation
25 error[E0046]: not all trait items implemented, missing: `from_iter`
26 --> $DIR/missing-assoc-fn.rs:19:1
28 LL | impl FromIterator<()> for X {
29 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `from_iter` in implementation
31 = help: implement the missing item: `fn from_iter<T>(_: T) -> Self where T: IntoIterator, std::iter::IntoIterator::Item = A { todo!() }`
33 error: aborting due to 3 previous errors
35 Some errors have detailed explanations: E0046, E0658.
36 For more information about an error, try `rustc --explain E0046`.