diff options
| author | bors <bors@rust-lang.org> | 2024-05-30 10:09:30 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-05-30 10:09:30 +0000 |
| commit | f3ff2f16c8f59fe5db9ec3382e4d2cc913e376a3 (patch) | |
| tree | 7746348dda859736fe09cb494ce66846bba80f03 /library/core/src | |
| parent | d43930dab36b81267d436fd16066419d3a66e054 (diff) | |
| parent | 479d6cafb74f4640a46cd26e147fbb37e9c1deb6 (diff) | |
| download | rust-f3ff2f16c8f59fe5db9ec3382e4d2cc913e376a3.tar.gz rust-f3ff2f16c8f59fe5db9ec3382e4d2cc913e376a3.zip | |
Auto merge of #125761 - matthiaskrgr:rollup-7u082og, r=matthiaskrgr
Rollup of 7 pull requests Successful merges: - #125342 (Document platform-specifics for `Read` and `Write` of `File`) - #125711 (Make `body_owned_by` return the `Body` instead of just the `BodyId`) - #125739 (drop_in_place: weaken the claim of equivalence with drop(ptr.read())) - #125745 (Bump the stage0 compiler to beta.7 (2024-05-26)) - #125746 (Fix copy-paste error in `Duration::from_weeks` panic message.) - #125753 (compiletest: Unify `cmd2procres` with `run_command_to_procres`) - #125754 (coverage: Rename MC/DC `conditions_num` to `num_conditions`) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'library/core/src')
| -rw-r--r-- | library/core/src/ptr/mod.rs | 7 | ||||
| -rw-r--r-- | library/core/src/time.rs | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/library/core/src/ptr/mod.rs b/library/core/src/ptr/mod.rs index 4213a9dedfe..8e3447d0b1b 100644 --- a/library/core/src/ptr/mod.rs +++ b/library/core/src/ptr/mod.rs @@ -450,8 +450,13 @@ mod mut_ptr; /// Executes the destructor (if any) of the pointed-to value. /// -/// This is semantically equivalent to calling [`ptr::read`] and discarding +/// This is almost the same as calling [`ptr::read`] and discarding /// the result, but has the following advantages: +// FIXME: say something more useful than "almost the same"? +// There are open questions here: `read` requires the value to be fully valid, e.g. if `T` is a +// `bool` it must be 0 or 1, if it is a reference then it must be dereferenceable. `drop_in_place` +// only requires that `*to_drop` be "valid for dropping" and we have not defined what that means. In +// Miri it currently (May 2024) requires nothing at all for types without drop glue. /// /// * It is *required* to use `drop_in_place` to drop unsized types like /// trait objects, because they can't be read out onto the stack and diff --git a/library/core/src/time.rs b/library/core/src/time.rs index 89202e7bb8d..dfa58e4f46d 100644 --- a/library/core/src/time.rs +++ b/library/core/src/time.rs @@ -348,7 +348,7 @@ impl Duration { #[inline] pub const fn from_weeks(weeks: u64) -> Duration { if weeks > u64::MAX / (SECS_PER_MINUTE * MINS_PER_HOUR * HOURS_PER_DAY * DAYS_PER_WEEK) { - panic!("overflow in Duration::from_days"); + panic!("overflow in Duration::from_weeks"); } Duration::from_secs(weeks * MINS_PER_HOUR * SECS_PER_MINUTE * HOURS_PER_DAY * DAYS_PER_WEEK) |
