diff options
| author | Adam Perry <adam.n.perry@gmail.com> | 2019-12-06 17:10:47 -0800 |
|---|---|---|
| committer | Adam Perry <adam.n.perry@gmail.com> | 2019-12-06 18:37:54 -0800 |
| commit | 15d1f7cffdc0b111123a6d34a356eae95af04676 (patch) | |
| tree | e21c58b0cfda1cae472db842f43fbb36b8cc8e5b | |
| parent | 1c2483eb6fd679fd7f63cc0c0fb9692a2aa698aa (diff) | |
| download | rust-15d1f7cffdc0b111123a6d34a356eae95af04676.tar.gz rust-15d1f7cffdc0b111123a6d34a356eae95af04676.zip | |
Add additional layer of #[track_caller] to test, avoid const prop.
| -rw-r--r-- | src/test/ui/rfc-2091-track-caller/caller-location-intrinsic.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/test/ui/rfc-2091-track-caller/caller-location-intrinsic.rs b/src/test/ui/rfc-2091-track-caller/caller-location-intrinsic.rs index 76e62b89ab8..0a79aea376f 100644 --- a/src/test/ui/rfc-2091-track-caller/caller-location-intrinsic.rs +++ b/src/test/ui/rfc-2091-track-caller/caller-location-intrinsic.rs @@ -2,20 +2,26 @@ #![feature(track_caller)] +#[inline(never)] +#[track_caller] +fn defeat_const_prop() -> &'static core::panic::Location<'static> { + core::panic::Location::caller() +} + macro_rules! caller_location_from_macro { - () => (core::panic::Location::caller()); + () => (defeat_const_prop()); } fn main() { - let loc = core::panic::Location::caller(); + let loc = defeat_const_prop(); assert_eq!(loc.file(), file!()); - assert_eq!(loc.line(), 10); + assert_eq!(loc.line(), 16); assert_eq!(loc.column(), 15); // `Location::caller()` in a macro should behave similarly to `file!` and `line!`, // i.e. point to where the macro was invoked, instead of the macro itself. let loc2 = caller_location_from_macro!(); assert_eq!(loc2.file(), file!()); - assert_eq!(loc2.line(), 17); + assert_eq!(loc2.line(), 23); assert_eq!(loc2.column(), 16); } |
