error[E0308]: mismatched types --> $DIR/trait-associated-constant.rs:31: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 30:18... --> $DIR/trait-associated-constant.rs:30: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 30:14 --> $DIR/trait-associated-constant.rs:30:14 | LL | impl<'a: 'b, 'b, 'c> Anything<'a, 'b> for FailStruct1 { | ^^ error[E0308]: mismatched types --> $DIR/trait-associated-constant.rs:38: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 37:6... --> $DIR/trait-associated-constant.rs:37: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 37:14 --> $DIR/trait-associated-constant.rs:37: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`.