error[E0271]: type mismatch resolving `for<'a> <() as Array<'a>>::Element == ()` --> $DIR/issue-39970.rs:19:5 | LL | <() as Visit>::visit(); | ^^^^^^^^^^^^^^^^^^^^ type mismatch resolving `for<'a> <() as Array<'a>>::Element == ()` | note: expected this to be `()` --> $DIR/issue-39970.rs:10:20 | LL | type Element = &'a (); | ^^^^^^ note: required for `()` to implement `Visit` --> $DIR/issue-39970.rs:13:6 | LL | impl Visit for () where | ^^^^^ ^^ LL | //(): for<'a> Array<'a, Element=&'a ()>, // No ICE LL | (): for<'a> Array<'a, Element=()>, // ICE | ---------- unsatisfied trait bound introduced here error: aborting due to previous error For more information about this error, try `rustc --explain E0271`.