struct をletでパターンマッチングする

#[allow(dead_code)]
struct St {
   i: i32,
   j: i32,
   k: i32,
}

fn new() -> St {
    St{i:1, j:2, k:3}
}

fn main() {
    let St {
        i,           // フィールド名と同名で束縛
        k: alt_name, // フィールド名と異なる名前に束縛(順序が変わってもOK)
        ..           // いらないフィールドは .. で省略できる
    } = new();
    println!("{} {}", i, alt_name); // 1, 3
}