error[E0277]: `<::C as Iterator>::Item` is not an iterator --> $DIR/bad-bounds-on-assoc-in-trait.rs:27:5 | LL | type C: Clone + Iterator Lam<&'a u8, App: Debug>> + Sync>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `<::C as Iterator>::Item` is not an iterator | = help: the trait `Iterator` is not implemented for `<::C as Iterator>::Item` help: consider further restricting the associated type | LL | trait Case1 where <::C as Iterator>::Item: Iterator { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0277]: `<::C as Iterator>::Item` cannot be sent between threads safely --> $DIR/bad-bounds-on-assoc-in-trait.rs:27:36 | LL | type C: Clone + Iterator Lam<&'a u8, App: Debug>> + Sync>; | ^^^^ `<::C as Iterator>::Item` cannot be sent between threads safely | ::: $SRC_DIR/core/src/marker.rs:LL:COL | LL | pub unsafe auto trait Send { | -------------------------- required by this bound in `Send` | = help: the trait `Send` is not implemented for `<::C as Iterator>::Item` help: consider further restricting the associated type | LL | trait Case1 where <::C as Iterator>::Item: Send { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E0277]: `<::C as Iterator>::Item` cannot be shared between threads safely --> $DIR/bad-bounds-on-assoc-in-trait.rs:27:93 | LL | type C: Clone + Iterator Lam<&'a u8, App: Debug>> + Sync>; | ^^^^ `<::C as Iterator>::Item` cannot be shared between threads safely | ::: $SRC_DIR/core/src/marker.rs:LL:COL | LL | pub unsafe auto trait Sync { | -------------------------- required by this bound in `Sync` | = help: the trait `Sync` is not implemented for `<::C as Iterator>::Item` help: consider further restricting the associated type | LL | trait Case1 where <::C as Iterator>::Item: Sync { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0277`.