error[E0308]: mismatched types --> $DIR/trait-associated-constant.rs:21:5 | LL | const AC: Option<&'c str> = None; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch | = note: expected type `std::option::Option<&'b str>` found type `std::option::Option<&'c str>` note: the lifetime 'c as defined on the impl at 20:18... --> $DIR/trait-associated-constant.rs:20:18 | LL | impl<'a: 'b, 'b, 'c> Anything<'a, 'b> for FailStruct1 { | ^^ note: ...does not necessarily outlive the lifetime 'b as defined on the impl at 20:14 --> $DIR/trait-associated-constant.rs:20:14 | LL | impl<'a: 'b, 'b, 'c> Anything<'a, 'b> for FailStruct1 { | ^^ error[E0308]: mismatched types --> $DIR/trait-associated-constant.rs:28:5 | LL | const AC: Option<&'a str> = None; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch | = note: expected type `std::option::Option<&'b str>` found type `std::option::Option<&'a str>` note: the lifetime 'a as defined on the impl at 27:6... --> $DIR/trait-associated-constant.rs:27:6 | LL | impl<'a: 'b, 'b> Anything<'a, 'b> for FailStruct2 { | ^^ note: ...does not necessarily outlive the lifetime 'b as defined on the impl at 27:14 --> $DIR/trait-associated-constant.rs:27:14 | LL | impl<'a: 'b, 'b> Anything<'a, 'b> for FailStruct2 { | ^^ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.