【Rust】typeの使い所

型に別名/エイリアスを付けたい時に使用する

type Meters = u32;

fn print_distance(d: Meters) {
    println!("Distance: {} meters", d);
}

fn main() {
    let distance: Meters = 100;
    print_distance(distance);
}

$ ./playground
Distance: 100 meters

### よくある用途
複雑な型にエイリアスをつける

type Result<T> = std::result::Result<T, std::io::Error>;

fn read_file() -> Result<String> {
    std::fs::read_to_string("example.txt")
}

なるほど、複雑な型にエイリアスというのは納得!