error[E0271]: type mismatch resolving `for<'a> <::Baa<'a> as std::ops::Deref>::Target == <::Quux<'a> as Foo>::Bar<'a, 'static>` --> $DIR/construct_with_other_type.rs:19:9 | LL | impl Baz for T where T: Foo { | - ^^^ expected type parameter `T`, found associated type | | | this type parameter | = note: expected associated type `::Bar<'_, 'static>` found associated type `<::Quux<'_> as Foo>::Bar<'_, 'static>` help: consider further restricting this bound | LL | impl Baz for T where T: Foo + Baz { | ^^^^^^^^^^^^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0271`.