rust/library
bors faae5f1ffe Auto merge of #122520 - scottmcm:stabilize_unchecked_math_basics, r=jhpratt
Stabilize `unchecked_{add,sub,mul}`

Tracking issue: #85122

I think we might as well just stabilize these basic three.  They're the ones that have `nuw`/`nsw` flags in LLVM.

Notably, this doesn't include the potentially-more-complex or -more-situational things like `unchecked_neg` or `unchecked_shr` that are under different feature flags.

To quote Ralf https://github.com/rust-lang/rust/issues/85122#issuecomment-1681669646,

> Are there any objections to stabilizing at least `unchecked_{add,sub,mul}`? For those there shouldn't be any surprises about what their safety requirements are.

*Semantially* these are [already available on stable, even in `const`, via](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=bdb1ff889b61950897f1e9f56d0c9a36) `checked_*`+`unreachable_unchecked`.  So IMHO we might as well just let people write them directly, rather than try to go through a `let Some(x) = x.checked_add(y) else { unsafe { hint::unreachable_unchecked() }};` dance.

I added additional text to each method to attempt to better describe the behaviour and encourage `wrapping_*` instead.

r? rust-lang/libs-api
2024-03-29 20:25:08 +00:00
..
alloc Auto merge of #122520 - scottmcm:stabilize_unchecked_math_basics, r=jhpratt 2024-03-29 20:25:08 +00:00
backtrace@6fa4b85b99 Use rust-lang/backtrace-rs@6fa4b85 2024-03-14 12:37:43 -07:00
core Auto merge of #122520 - scottmcm:stabilize_unchecked_math_basics, r=jhpratt 2024-03-29 20:25:08 +00:00
panic_abort Cleanup windows abort_internal 2024-03-02 18:22:15 +00:00
panic_unwind SeqCst->Relaxed in panic_unwind/emcc. 2024-03-19 15:27:11 +01:00
portable-simd Import the 2021 prelude in the core crate 2024-03-25 13:12:06 -07:00
proc_macro proc_macro: simplify bridge state 2024-03-23 12:15:11 +01:00
profiler_builtins Update version of cc crate 2024-03-14 16:42:15 +00:00
rtstartup library: Fix warnings in rtstartup 2024-01-06 01:32:03 +03:00
rustc-std-workspace-alloc Replace libstd, libcore, liballoc in line comments. 2022-12-30 14:00:42 +01:00
rustc-std-workspace-core
rustc-std-workspace-std
std Auto merge of #122975 - DianQK:simplify_ub_check, r=saethlin 2024-03-29 02:25:43 +00:00
stdarch@967e7afd87 Update stdarch submodule 2024-03-22 12:16:16 -07:00
sysroot Expose compiler-builtins-weak-intrinsics feature for -Zbuild-std 2023-06-23 11:15:34 +01:00
test Remove unused fields in some structures 2024-03-12 10:59:40 +01:00
unwind Fix compile of wasm64-unknown-unknown target 2024-03-20 14:55:02 -07:00