rust/library/std/src
Matthias Krüger b9c6b337ce
Rollup merge of #141341 - folkertdev:limit-VaArgSafe-impls, r=workingjubilee
limit impls of `VaArgSafe` to just types that are actually safe

tracking issue: https://github.com/rust-lang/rust/issues/44930

Retrieving 8- or 16-bit integer arguments from a `VaList` is not safe, because such types are subject to upcasting. See https://github.com/rust-lang/rust/issues/61275#issuecomment-2193942535 for more detail.

This PR also makes the instances of `VaArgSafe` visible in the documentation, and uses a private sealed trait to make sure users cannot create additional impls of `VaArgSafe`, which would almost certainly cause UB.

r? `@workingjubilee`
2025-05-21 22:14:58 +02:00
..
backtrace remove redundant imports 2023-12-10 10:56:22 +08:00
collections update version placeholders 2025-05-12 15:33:30 +02:00
ffi Rollup merge of #141341 - folkertdev:limit-VaArgSafe-impls, r=workingjubilee 2025-05-21 22:14:58 +02:00
fs [win][arm64] Disable FS tests that require symlinks 2025-05-07 11:12:11 -07:00
hash remove const_hash feature leftovers 2024-11-02 11:27:14 +01:00
io Add std::io::Seek instance for std::io::Take 2025-05-19 17:56:46 +02:00
net ToSocketAddrs: fix typo 2025-04-04 14:47:04 +02:00
os Apply suggestions from code review 2025-05-21 07:48:46 +02:00
prelude update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
process std: Apply deprecated_safe_2024 2025-02-13 13:10:28 -08:00
sync fix data race in ReentrantLock fallback for targets without 64bit atomics 2025-05-19 15:21:25 +02:00
sys Add std::os::unix::process::CommandExt::chroot to safely chroot a child process 2025-05-20 18:25:05 +02:00
sys_common std: get rid of sys_common::process 2025-04-28 11:13:50 +02:00
thread update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
alloc.rs use generic Atomic type where possible 2025-04-27 02:18:08 +03:00
ascii.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
backtrace.rs use generic Atomic type where possible 2025-04-27 02:18:08 +03:00
bstr.rs Implement ByteStr and ByteString types 2025-01-11 06:35:21 +02:00
env.rs Delegate to inner vec::IntoIter from env::ArgsOs 2025-05-01 15:18:15 -07:00
error.rs Move std::error unit tests to integration tests 2025-01-26 10:28:04 +00:00
f16.rs Initial implementation of core_float_math 2025-05-13 22:08:18 +00:00
f32.rs core_float_math: Move functions to math folder 2025-05-20 16:41:43 +01:00
f64.rs core_float_math: Move functions to math folder 2025-05-20 16:41:43 +01:00
f128.rs Initial implementation of core_float_math 2025-05-13 22:08:18 +00:00
fs.rs replace try_reserve_exact with try_with_capacity in std::fs::read 2025-05-18 09:54:57 +03:00
keyword_docs.rs Rollup merge of #140197 - ktnlvr:master, r=workingjubilee 2025-05-02 22:17:01 +10:00
lib.miri.rs add 'x.py miri', and make it work for 'library/{core,alloc,std}' 2024-04-03 20:27:20 +02:00
lib.rs Add std::io::Seek instance for std::io::Take 2025-05-19 17:56:46 +02:00
macros.rs fix doc path in std::fmt macro 2025-02-25 09:08:22 +05:30
num.rs Move std::num unit tests to integration tests 2025-01-26 10:28:04 +00:00
panic.rs use generic Atomic type where possible 2025-04-27 02:18:08 +03:00
panicking.rs use generic Atomic type where possible 2025-04-27 02:18:08 +03:00
pat.rs Add pattern types to parser 2024-04-08 11:57:17 +00:00
path.rs use Self alias in self types rather than manually substituting it 2025-05-20 16:03:04 +02:00
process.rs std: get rid of sys_common::process 2025-04-28 11:13:50 +02:00
random.rs Unify cygwin & horizon random impl 2025-03-10 21:23:32 +08:00
rt.rs deduplicate abort implementations 2025-05-15 11:20:13 +02:00
test_helpers.rs std: get rid of sys_common::io 2025-02-07 16:54:07 +01:00
time.rs Be more specific about the error in the SystemTime example 2025-04-17 11:57:28 -05:00