# Simpler lifetimes in `static` and `const`

In older Rust, you had to explicitly write the `'static` lifetime in any `static` or `const` that needed a lifetime:

    # #![allow(unused_variables)]
    #fn main() {
    # mod foo {
    const NAME: &'static str = "Ferris";
    # }
    # mod bar {
    static NAME: &'static str = "Ferris";
    # }
    #}

But `'static` is the only possible lifetime there. So Rust now assumes the `'static` lifetime, and you don't have to write it out:

    # #![allow(unused_variables)]
    #fn main() {
    # mod foo {
    const NAME: &str = "Ferris";
    # }
    # mod bar {
    static NAME: &str = "Ferris";
    # }
    #}

In some situations, this can remove a lot of boilerplate:

    # #![allow(unused_variables)]
    #fn main() {
    # mod foo {
    // old
    const NAMES: &'static [&'static str; 2] = &["Ferris", "Bors"];
    # }
    # mod bar {

    // new
    const NAMES: &[&str; 2] = &["Ferris", "Bors"];
    # }
    #}