Changes in new versions / Rust 1.42

// *** before: ***
// середину среза в образце назвать было нельзя
let parts: Vec<&str> = line.split(' ').collect();
if parts.len() >= 2 {
    let first = parts[0];
    let last = parts[parts.len() - 1];
    println!("{} {}", first, last);
}

// *** in version 1.42: ***
match parts.as_slice() {
    [only] => println!("одно: {}", only),
    [first, .., last] => println!("{} {}", first, last),
    [] => println!("пусто"),
}

// середину можно и связать
if let [head, tail @ ..] = parts.as_slice() {
    println!("{} и ещё {}", head, tail.len());
}