diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-08-01 18:43:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-01 18:43:41 +0200 |
| commit | ca73b8b7a501efe514460de6fc71c2c982b8e6b4 (patch) | |
| tree | 0fc0bada25486ddc720acb29d654960882562999 | |
| parent | 29cd3103a162c1bf80a6123aaa77fc2d3e392150 (diff) | |
| parent | c8a3cafc0fd995767bd59f2a57a0efa2cf8792cb (diff) | |
| download | rust-ca73b8b7a501efe514460de6fc71c2c982b8e6b4.tar.gz rust-ca73b8b7a501efe514460de6fc71c2c982b8e6b4.zip | |
Rollup merge of #128497 - Bryanskiy:fix-dropck-doc, r=lcnr
fix dropck documentation for `[T;0]` special-case fixes https://github.com/rust-lang/rust/issues/110288. r? ``@lcnr``
| -rw-r--r-- | library/core/src/ops/drop.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/library/core/src/ops/drop.rs b/library/core/src/ops/drop.rs index 36ae581e3f7..c6083a121d1 100644 --- a/library/core/src/ops/drop.rs +++ b/library/core/src/ops/drop.rs @@ -171,12 +171,13 @@ /// still be live when `T` gets dropped. The exact details of this analysis are not yet /// stably guaranteed and **subject to change**. Currently, the analysis works as follows: /// - If `T` has no drop glue, then trivially nothing is required to be live. This is the case if -/// neither `T` nor any of its (recursive) fields have a destructor (`impl Drop`). [`PhantomData`] -/// and [`ManuallyDrop`] are considered to never have a destructor, no matter their field type. +/// neither `T` nor any of its (recursive) fields have a destructor (`impl Drop`). [`PhantomData`], +/// arrays of length 0 and [`ManuallyDrop`] are considered to never have a destructor, no matter +/// their field type. /// - If `T` has drop glue, then, for all types `U` that are *owned* by any field of `T`, /// recursively add the types and lifetimes that need to be live when `U` gets dropped. The set of /// owned types is determined by recursively traversing `T`: -/// - Recursively descend through `PhantomData`, `Box`, tuples, and arrays (including arrays of +/// - Recursively descend through `PhantomData`, `Box`, tuples, and arrays (excluding arrays of /// length 0). /// - Stop at reference and raw pointer types as well as function pointers and function items; /// they do not own anything. |
