Regarding crates, when adding the new rand version, multiple versions of rand_core end up in the target directory. Not sure how that works and what to add to the rustc command line in that case… There are even dependencies from rand_core 0.3.1 to rand_core 0.4 (what? how can this work?). So will have to try a few things before we can update the rand crate.
Note: We are not using Cargo when building. I guess the edition=2018 specified in Cargo.toml is somehow transmitted to rustc but I could not find the equivalent command line.
There have been 7 stable Rust releases since 1.33 (including in particular stabilization of many apis and a great upgrade upgrade for HashMap).
It might be time for an upgrade if not too time-consuming!
Also, crossbeam/crossbeam_channel and rayon crates are basics of parallelism in Rust and would be great additions to those that are already there. (BTW, thank you so much for already adding itertools! <3)
So, if Rust has new features, they will be available on CodinGame too - together with updates of other languages.
You won’t get much benefit from multithreading here, as your code is run on a single physical core anyways.