]>
Commit | Line | Data |
---|---|---|
60c5eb7d | 1 | // run-pass |
29967ef6 | 2 | // revisions: default mir-opt |
6a06907d | 3 | //[mir-opt] compile-flags: -Zmir-opt-level=4 |
60c5eb7d | 4 | |
60c5eb7d XL |
5 | use std::panic::Location; |
6 | ||
7 | #[track_caller] | |
8 | fn tracked() -> &'static Location<'static> { | |
9 | Location::caller() | |
10 | } | |
11 | ||
12 | fn nested_intrinsic() -> &'static Location<'static> { | |
13 | Location::caller() | |
14 | } | |
15 | ||
16 | fn nested_tracked() -> &'static Location<'static> { | |
17 | tracked() | |
18 | } | |
19 | ||
20 | fn main() { | |
21 | let location = Location::caller(); | |
22 | assert_eq!(location.file(), file!()); | |
29967ef6 | 23 | assert_eq!(location.line(), 21); |
60c5eb7d XL |
24 | assert_eq!(location.column(), 20); |
25 | ||
26 | let tracked = tracked(); | |
27 | assert_eq!(tracked.file(), file!()); | |
29967ef6 | 28 | assert_eq!(tracked.line(), 26); |
60c5eb7d XL |
29 | assert_eq!(tracked.column(), 19); |
30 | ||
31 | let nested = nested_intrinsic(); | |
32 | assert_eq!(nested.file(), file!()); | |
29967ef6 | 33 | assert_eq!(nested.line(), 13); |
60c5eb7d XL |
34 | assert_eq!(nested.column(), 5); |
35 | ||
36 | let contained = nested_tracked(); | |
37 | assert_eq!(contained.file(), file!()); | |
29967ef6 | 38 | assert_eq!(contained.line(), 17); |
60c5eb7d XL |
39 | assert_eq!(contained.column(), 5); |
40 | } |