-
Notifications
You must be signed in to change notification settings - Fork 431
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API differences between Uniform and Bernoulli #1211
Comments
Well,
But |
Would that mean |
No; those are construction methods on the type. Returning a This needs further thought/discussion before resolution. |
Makes sense. At the moment I see: Three suggested changes:
|
|
Not really, we did not change the constructors of distributions in However, I agree we should fix this for Rand 0.9. |
- This is a breaking change. - The new error type had to be made public, otherwise `Uniform` could not be extended for user-defined types by implementing `UniformSampler`. - `rand_distr` was updated accordingly. - Also forbid unsafe code for crates where none is used. Fixes rust-random#1195, rust-random#1211.
- This is a breaking change. - The new error type had to be made public, otherwise `Uniform` could not be extended for user-defined types by implementing `UniformSampler`. - `rand_distr` was updated accordingly. - Also forbid unsafe code for crates where none is used. Fixes rust-random#1195, rust-random#1211.
* Forbid unsafe code in crates without unsafe code This helps tools like `cargo geiger`. * Make `Uniform` constructors return a result - This is a breaking change. - The new error type had to be made public, otherwise `Uniform` could not be extended for user-defined types by implementing `UniformSampler`. - `rand_distr` was updated accordingly. - Also forbid unsafe code for crates where none is used. Fixes #1195, #1211. * Address review feedback * Make `sample_single` return a `Result` * Fix benchmarks * Small fixes * Update src/distributions/uniform.rs
Hello,
distributions::Uniform::from
panics when the given range is invalid.In contrast
distributions::Bernoulli::new
returns an Option object if the given probability is invalid.It comes to a surprise that seemingly similar functions have different API design. Is there a particular reason for this?
The text was updated successfully, but these errors were encountered: