File tree Expand file tree Collapse file tree 3 files changed +4119
-4048
lines changed
rust/ql/test/library-tests/type-inference Expand file tree Collapse file tree 3 files changed +4119
-4048
lines changed Original file line number Diff line number Diff line change @@ -5,9 +5,13 @@ multipleCallTargets
55| dereference.rs:184:17:184:30 | ... .foo() |
66| dereference.rs:186:17:186:25 | S.bar(...) |
77| dereference.rs:187:17:187:29 | S.bar(...) |
8- | main.rs:2481:13:2481:31 | ...::from(...) |
9- | main.rs:2482:13:2482:31 | ...::from(...) |
10- | main.rs:2483:13:2483:31 | ...::from(...) |
11- | main.rs:2489:13:2489:31 | ...::from(...) |
12- | main.rs:2490:13:2490:31 | ...::from(...) |
13- | main.rs:2491:13:2491:31 | ...::from(...) |
8+ | main.rs:589:9:589:14 | S4.m() |
9+ | main.rs:590:9:590:18 | ...::m(...) |
10+ | main.rs:591:9:591:20 | ... .m() |
11+ | main.rs:592:9:592:24 | ...::m(...) |
12+ | main.rs:2519:13:2519:31 | ...::from(...) |
13+ | main.rs:2520:13:2520:31 | ...::from(...) |
14+ | main.rs:2521:13:2521:31 | ...::from(...) |
15+ | main.rs:2527:13:2527:31 | ...::from(...) |
16+ | main.rs:2528:13:2528:31 | ...::from(...) |
17+ | main.rs:2529:13:2529:31 | ...::from(...) |
Original file line number Diff line number Diff line change @@ -535,6 +535,37 @@ mod impl_overlap {
535535 }
536536 }
537537
538+ trait MyTrait1 {
539+ // MyTrait1::m
540+ fn m ( & self ) { }
541+ }
542+
543+ trait MyTrait2 : MyTrait1 { }
544+
545+ #[ derive( Debug ) ]
546+ struct S4 ;
547+
548+ impl MyTrait1 for S4 {
549+ // <S4_as_MyTrait1>::m
550+ fn m ( & self ) { }
551+ }
552+
553+ impl MyTrait2 for S4 { }
554+
555+ #[ derive( Debug ) ]
556+ struct S5 < T5 > ( T5 ) ;
557+
558+ impl MyTrait1 for S5 < i32 > {
559+ // <S5<i32>_as_MyTrait1>::m
560+ fn m ( & self ) { }
561+ }
562+
563+ impl MyTrait2 for S5 < i32 > { }
564+
565+ impl MyTrait1 for S5 < bool > { }
566+
567+ impl MyTrait2 for S5 < bool > { }
568+
538569 pub fn f ( ) {
539570 let x = S1 ;
540571 println ! ( "{:?}" , x. common_method( ) ) ; // $ target=S1::common_method
@@ -554,6 +585,13 @@ mod impl_overlap {
554585 let w = S3 ( S1 ) ;
555586 println ! ( "{:?}" , w. m( x) ) ; // $ target=S3<T>::m
556587 println ! ( "{:?}" , S3 :: m( & w, x) ) ; // $ target=S3<T>::m
588+
589+ S4 . m ( ) ; // $ target=<S4_as_MyTrait1>::m $ SPURIOUS: target=MyTrait1::m
590+ S4 :: m ( & S4 ) ; // $ target=<S4_as_MyTrait1>::m $ SPURIOUS: target=MyTrait1::m
591+ S5 ( 0i32 ) . m ( ) ; // $ target=<S5<i32>_as_MyTrait1>::m $ SPURIOUS: target=MyTrait1::m
592+ S5 :: m ( & S5 ( 0i32 ) ) ; // $ target=<S5<i32>_as_MyTrait1>::m $ SPURIOUS: target=MyTrait1::m
593+ S5 ( true ) . m ( ) ; // $ target=MyTrait1::m
594+ S5 :: m ( & S5 ( true ) ) ; // $ target=MyTrait1::m
557595 }
558596}
559597
You can’t perform that action at this time.
0 commit comments