2 // revisions: default mir-opt
3 //[mir-opt] compile-flags: -Zmir-opt-level=4
5 #![feature(const_caller_location)]
7 use std::panic::Location;
9 const LOCATION: &Location = Location::caller();
11 const TRACKED: &Location = tracked();
13 const fn tracked() -> &'static Location <'static> {
17 const NESTED: &Location = nested_location();
18 const fn nested_location() -> &'static Location<'static> {
22 const CONTAINED: &Location = contained();
23 const fn contained() -> &'static Location<'static> {
28 assert_eq!(LOCATION.file(), file!());
29 assert_eq!(LOCATION.line(), 9);
30 assert_eq!(LOCATION.column(), 29);
32 assert_eq!(TRACKED.file(), file!());
33 assert_eq!(TRACKED.line(), 11);
34 assert_eq!(TRACKED.column(), 28);
36 assert_eq!(NESTED.file(), file!());
37 assert_eq!(NESTED.line(), 19);
38 assert_eq!(NESTED.column(), 5);
40 assert_eq!(CONTAINED.file(), file!());
41 assert_eq!(CONTAINED.line(), 24);
42 assert_eq!(CONTAINED.column(), 5);