rust/library/std/src
Samuel Tardieu 1724af9f1e
Rollup merge of #144872 - connortsui20:once-poison-docs, r=Amanieu
Document Poisoning in `LazyCell` and `LazyLock`

Currently, there is no documentation of poisoning behavior in either `LazyCell` or `LazyLock`, even though both of them can be observed as poisoned by users.

`LazyCell` [plagyround example](https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=9cf38b8dc56db100848f54085c2c697d)

`LazyLock` [playground example](https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=f1cd6f9fe16636e347ebb695a0ce30c0)

# Open Questions

- [x] Is it worth making the implementation of `LazyLock` more complicated to ensure that the the panic message is `"LazyLock instance has previously been poisoned"` instead of `"Once instance has previously been poisoned"`? See the `LazyLock` playground link above for more context.
- [x] Does it make sense to move `LazyLock` into the `poison` module? It is certainly a poison-able type, but at the same time it is slightly different from the 4 other types currently in the `poison` module in that it is unrecoverable. I think this is more of a libs-api question.

``@rustbot`` label +T-libs-api

Please let me know if these open questions deserve a separate issue / PR!
2025-08-05 03:51:38 +02:00
..
backtrace remove redundant imports 2023-12-10 10:56:22 +08:00
collections Docs(lib/coll/hm): Add kv pair to extract_if's first sentence 2025-05-17 02:49:57 +02:00
ffi Update version placeholders 2025-07-01 10:54:33 -07:00
fs Test(fs): Fix test_eq_windows_file_type for Windows 7 2025-05-28 12:06:25 +02:00
hash remove const_hash feature leftovers 2024-11-02 11:27:14 +01:00
io core: Remove BorrowedCursor::init_ref method 2025-07-09 18:11:26 +02:00
net Set MSG_NOSIGNAL for UnixSteam 2025-06-16 09:15:17 +02:00
num Stabilize const_float_round_methods 2025-07-20 00:08:58 +04:00
os Rollup merge of #142391 - LevitatingBusinessMan:setsid, r=workingjubilee 2025-07-11 07:35:17 +02:00
prelude Make derive_const usable within libcore again 2025-07-17 15:42:54 +00:00
process std: Apply deprecated_safe_2024 2025-02-13 13:10:28 -08:00
sync add poisoning documentation to LazyLock 2025-08-03 22:57:08 +02:00
sys uefi: Use slice equality rather than memcmp 2025-07-31 22:47:24 +00:00
sys_common docs: clarify “dag” in std::sys_common doc comment 2025-07-11 11:53:47 +08:00
thread Rollup merge of #144188 - joshtriplett:available-parallelism, r=Mark-Simulacrum 2025-08-04 11:24:36 +10:00
alloc.rs Make __rust_alloc_error_handler_should_panic a function 2025-07-03 10:52:21 -07: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 Rollup merge of #141840 - ChrisDenton:noempty, r=ChrisDenton 2025-07-26 22:42:32 -04:00
error.rs Move std::error unit tests to integration tests 2025-01-26 10:28:04 +00:00
fs.rs Rollup merge of #134006 - klensy:typos, r=nnethercote 2025-07-03 13:29:35 +02:00
keyword_docs.rs unsafe keyword docs: emphasize that an unsafe fn in a trait does not get to choose its safety contract 2025-06-06 22:34:10 +02: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 feat: implement hash_map! macro 2025-08-02 01:32:52 +02:00
macros.rs feat: implement hash_map! macro 2025-08-02 01:32:52 +02:00
panic.rs rename rust_panic_without_hook 2025-08-03 17:59:37 +05:00
panicking.rs Rollup merge of #144852 - Kivooeo:rename-panic, r=m-ou-se 2025-08-05 03:51:37 +02:00
pat.rs Add pattern types to parser 2024-04-08 11:57:17 +00:00
path.rs Avoid making the start of a doc code block conditional 2025-07-25 22:02:09 -07:00
process.rs Rollup merge of #141019 - ehuss:android-doctest-xcompile, r=Mark-Simulacrum 2025-05-23 13:34:18 +02:00
random.rs random: Provide a Distribution<T> trait 2025-07-11 10:21:34 -07: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 Auto merge of #141829 - dvdsk:sleep_until_linux, r=cuviper,RalfJung 2025-07-06 23:00:51 +00:00