Simpler lifetimes in static and const - The Edition Guide

# 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"];
    }
    }