Greetings!
I'm currently following this neat tutorial about writing roguelike games in Rust.
In part 12 in the link, weighted distributions are used to generate NPCs with a given ratio.
use rand::distributions::{Weighted, WeightedChoice, IndependentSample};
The tutorial uses the rand
module with version 0.3 whereas in the current version "0.6.5" all of the three imports given above are deprecated. The RLS linter hints to use rand::distributions::WeightedIndex
instead of WeightedChoice
. However I have no idea how to properly replace Weighted
and IndependentSample
without a significant amount of research, which I'm still not done with.
What is the Rust-conform way of dealing with changing and deprecating API's?
Should I just revert the rand
module to 0.3 and use the outdated but working distributions?
Should I take a deep dive into the documentation and figure out how to emulate the old methods with the new API? Is there any documentation on API changes and how change the old code to remain compatible with the new library version?
This is something that has been bothering me for a while about Rust because this is not the first time I'm confronted with changing library APIs and now I would like to hear from professional rustaceans what to do.
Cheers!