https://doc.rust-lang.org/edition-guide/rust-2018/ownership-and-lifetimes/the-anonymous-lifetime.html
// Rust 2015
use std::fmt;
fn make_wrapper(string: &str) -> StrWrap {
…
// Rust 2018
fn make_wrapper(string: &str) -> StrWrap<'_> {
…
In the 2018 example is use std::fmt
by default hidden, in 2015 not. (looks inconsistent)