rust/library/std
bors 6eb3e97d55 Auto merge of #116319 - BlackHoleFox:apple-rand-take-2, r=thomcc
Remove Apple RNG fallbacks and simplify implementation

Now that we have [higher Apple platform requirements](https://github.com/rust-lang/rust/pull/104385), the RNG code can be simplified a lot. Since `getentropy` still doesn't look to be usable outside macOS this implementation:
- Removes any macOS fallback paths and unconditionally links to `getentropy`
- Minimizes the implementation for everything else (iOS, watchOS, etc).

`CCRandomGenerateBytes` was added in iOS 8 which means that we can use it now. It and `SecRandomCopyBytes` have the exact same functionality, but the former has a simpler API and no longer requires libstd to link to `Security.framework` for one function. Its also available in all the other target's SDKs.

Why care about `getentropy` then though on macOS? Well, its still much more performant. Benchmarking shows it runs at ~2x the speed of `CCRandomGenerateBytes`, which makes sense since it directly pulls from the kernel vs going through its own generator etc.

Semi-related to a previous, but reverted, attempt at improving this logic in https://github.com/rust-lang/rust/pull/101011
2023-10-24 06:11:51 +00:00
..
benches mv std libs to library/ 2020-07-27 19:51:13 -05:00
src Auto merge of #116319 - BlackHoleFox:apple-rand-take-2, r=thomcc 2023-10-24 06:11:51 +00:00
tests Add data race test to std::env::{get, set} 2023-08-20 21:50:45 +02:00
build.rs changes from feedback 2023-10-20 23:55:14 +01:00
Cargo.toml Auto merge of #116527 - sthibaul:libc, r=Mark-Simulacrum 2023-10-15 15:17:17 +00:00