rust/library
Andre Bogus 41da875fae Add Option::as_slice(_mut)
This adds the following functions:

* `Option<T>::as_slice(&self) -> &[T]`
* `Option<T>::as_slice_mut(&mut self) -> &[T]`

The `as_slice` and `as_slice_mut` functions benefit from an
optimization that makes them completely branch-free.

Note that the optimization's soundness hinges on the fact that either
the niche optimization makes the offset of the `Some(_)` contents zero
or the mempory layout of `Option<T>` is equal to that of
`Option<MaybeUninit<T>>`.
2023-03-01 00:05:31 +01:00
..
alloc Auto merge of #106241 - Sp00ph:vec_deque_iter_methods, r=the8472 2023-02-18 20:12:35 +00:00
backtrace@07872f28cd Update backtrace 2022-09-02 16:09:58 -04:00
core Add Option::as_slice(_mut) 2023-03-01 00:05:31 +01:00
panic_abort Replace libstd, libcore, liballoc in line comments. 2022-12-30 14:00:42 +01:00
panic_unwind Replace libstd, libcore, liballoc in docs. 2022-12-30 14:00:40 +01:00
portable-simd Remove unnecessary &format! 2023-01-21 22:06:42 -05:00
proc_macro Auto merge of #105671 - lukas-code:depreciate-char, r=scottmcm 2023-02-12 11:09:06 +00:00
profiler_builtins
rtstartup Remove custom frame info registration on i686-pc-windows-gnu 2022-08-23 16:12:58 +08: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 Rollup merge of #108272 - MrNossiom:master, r=thomcc 2023-02-21 14:20:00 +05:30
stdarch@a0c30f3e3c update stdarch 2022-12-29 11:22:13 +01:00
test Rollup merge of #106769 - lenko-d:libtest-print_why_a_test_was_ignored_if_its_the_only_test_specified, r=Mark-Simulacrum 2023-01-29 20:03:36 +01:00
unwind Replace libstd, libcore, liballoc in line comments. 2022-12-30 14:00:42 +01:00