diff options
| author | Peter Todd <pete@petertodd.org> | 2025-02-18 04:56:03 +0000 |
|---|---|---|
| committer | Peter Todd <pete@petertodd.org> | 2025-02-18 04:56:03 +0000 |
| commit | 4e4cb10b846c71f2993d2e4babbc026ff68bab3b (patch) | |
| tree | 1126f77cba2c57f5f8b1117915c4ae4ea12095cc | |
| parent | de91711756133f11f7861dd099c001eaff0aafaa (diff) | |
| download | rust-4e4cb10b846c71f2993d2e4babbc026ff68bab3b.tar.gz rust-4e4cb10b846c71f2993d2e4babbc026ff68bab3b.zip | |
Add #[track_caller] to Duration Div impl
Previously the location of the divide-by-zero error condition would be attributed to the code in the rust standard library, eg: thread 'main' panicked at /home/user/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/time.rs:1172:31: divide by zero error when dividing duration by scalar With #[track_caller] the error is correctly attributed to the callee.
| -rw-r--r-- | library/core/src/time.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/library/core/src/time.rs b/library/core/src/time.rs index 22bd46c567e..8b211b442ea 100644 --- a/library/core/src/time.rs +++ b/library/core/src/time.rs @@ -1168,6 +1168,7 @@ impl Div<u32> for Duration { type Output = Duration; #[inline] + #[track_caller] fn div(self, rhs: u32) -> Duration { self.checked_div(rhs).expect("divide by zero error when dividing duration by scalar") } @@ -1176,6 +1177,7 @@ impl Div<u32> for Duration { #[stable(feature = "time_augmented_assignment", since = "1.9.0")] impl DivAssign<u32> for Duration { #[inline] + #[track_caller] fn div_assign(&mut self, rhs: u32) { *self = *self / rhs; } |
