# Static rustc_lint::builtin::ELIDED_LIFETIMES_IN_ASSOCIATED_CONSTANT

source ·

    pub static ELIDED_LIFETIMES_IN_ASSOCIATED_CONSTANT: &'static Lint

Expand description

The `elided_lifetimes_in_associated_constant` lint detects elided lifetimes in associated constants when there are other lifetimes in scope. This was accidentally supported, and this lint was later relaxed to allow eliding lifetimes to `'static` when there are no lifetimes in scope.

#### §Example

ⓘ

    #![deny(elided_lifetimes_in_associated_constant)]

    struct Foo<'a>(&'a ());

    impl<'a> Foo<'a> {
        const STR: &str = "hello, world";
    }

{{produces}}

#### §Explanation

Previous version of Rust

Implicit static-in-const behavior was decided against for associated constants because of ambiguity. This, however, regressed and the compiler erroneously treats elided lifetimes in associated constants as lifetime parameters on the impl.

This is a future-incompatible lint to transition this to a hard error in the future.