I am not an expert (contributions welcome), but I believe this roughly boils down to:
no_std implies quite a lot of functionality is unavailable
- the error type may need to be different
OsRng is not available; some other entropy source is required
The above points are implied by the OS; on the hardware side:
- The CPU may be 16-bit or even 8-bit, in which case
Rng::next_u32 is not appropriate. So is it worth adding next_u16 just for these platforms? My suspicion is that anything <=16-bit probably won't use common crates like rand anyway because code-size is a major concern.
- The CPU may not have hardware floating-point. In this case, would it use
rand anyway (as above)? Would it matter that the crate contains FP code so long as it's not used?
I am not an expert (contributions welcome), but I believe this roughly boils down to:
no_stdimplies quite a lot of functionality is unavailableOsRngis not available; some other entropy source is requiredThe above points are implied by the OS; on the hardware side:
Rng::next_u32is not appropriate. So is it worth addingnext_u16just for these platforms? My suspicion is that anything <=16-bit probably won't use common crates likerandanyway because code-size is a major concern.randanyway (as above)? Would it matter that the crate contains FP code so long as it's not used?