Rust hat ein Build- und Dependency Managementsystem. Yay.
Heißt `cargo`.
Mit `cargo build` kann man Programme bauen.
-Im Falle dieses Repos baut das nur die Basislib und noch keine Executable, dazu dann z.B. `cargo build --bin example`.
+Im Falle dieses Repos baut das nur die Basislib und noch keine Executable, dazu dann z.B. `cargo build --bin example` oder statt example ein anderes Programm wie `decode_vector`.
Mit `cargo run` kann man bauen und direkt ausführen.
Argumente an das Programm kommen nach einem `--`.
Sobald die Performance interessant ist unbedingt `cargo run --release` nutzen - das ist ungefähr was `-O3` bei C++ ist.
let travel_time = Vec::<Weight>::load_from("weight_file_name").expect("could not read travel_time");
let node_id = 42;
-for edge_id in head[first_out[node_id] as usize .. first_out[node_id + 1] as usize] {
+for edge_id in first_out[node_id] .. first_out[node_id + 1] {
println!("There is an arc from {} to {} with weight {}", node_id, head[edge_id as usize], travel_time[edge_id as usize]);
}
```