File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change 1+ use core:: panic:: Location ;
2+
3+ // Note: Some of the following tests depend on the source location,
4+ // so please be careful when editing this file.
5+
6+ #[ test]
7+ fn location_const_caller ( ) {
8+ const _CALLER_REFERENCE: & Location < ' static > = Location :: caller ( ) ;
9+ const _CALLER: Location < ' static > = * Location :: caller ( ) ;
10+ }
11+
12+ #[ test]
13+ fn location_const_file ( ) {
14+ const CALLER : & Location < ' static > = Location :: caller ( ) ;
15+ const FILE : & str = CALLER . file ( ) ;
16+ assert_eq ! ( FILE , file!( ) ) ;
17+ }
18+
19+ #[ test]
20+ fn location_const_line ( ) {
21+ const CALLER : & Location < ' static > = Location :: caller ( ) ;
22+ const LINE : u32 = CALLER . line ( ) ;
23+ assert_eq ! ( LINE , 21 ) ;
24+ }
25+
26+ #[ test]
27+ fn location_const_column ( ) {
28+ const CALLER : & Location < ' static > = Location :: caller ( ) ;
29+ const COLUMN : u32 = CALLER . column ( ) ;
30+ assert_eq ! ( COLUMN , 40 ) ;
31+ }
32+
33+ #[ test]
34+ fn location_file_lifetime < ' x > ( ) {
35+ // Verify that the returned `&str`s lifetime is derived from the generic
36+ // lifetime 'a, not the lifetime of `&self`, when calling `Location::file`.
37+ // Test failure is indicated by a compile failure, not a runtime panic.
38+ let _: for <' a > fn ( & ' a Location < ' x > ) -> & ' x str = Location :: file;
39+ }
You can’t perform that action at this time.
0 commit comments