File tree Expand file tree Collapse file tree 2 files changed +45
-4
lines changed
rust/ql/test/library-tests/type-inference Expand file tree Collapse file tree 2 files changed +45
-4
lines changed Original file line number Diff line number Diff line change @@ -1305,6 +1305,37 @@ mod async_ {
13051305 }
13061306}
13071307
1308+
1309+ mod impl_trait {
1310+ struct S1 ;
1311+
1312+ trait Trait1 {
1313+ fn f1 ( & self ) { } // Trait1f1
1314+ }
1315+
1316+ trait Trait2 {
1317+ fn f2 ( & self ) { } // Trait2f2
1318+ }
1319+
1320+ impl Trait1 for S1 {
1321+ fn f1 ( & self ) { } // S1f1
1322+ }
1323+
1324+ impl Trait2 for S1 {
1325+ fn f2 ( & self ) { } // S1f2
1326+ }
1327+
1328+ fn f1 ( ) -> impl Trait1 + Trait2 {
1329+ S1
1330+ }
1331+
1332+ pub fn f ( ) {
1333+ let x = f1 ( ) ;
1334+ x. f1 ( ) ; // $ MISSING: method=Trait1f1
1335+ x. f2 ( ) ; // $ MISSING: method=Trait2f2
1336+ }
1337+ }
1338+
13081339fn main ( ) {
13091340 field_access:: f ( ) ;
13101341 method_impl:: f ( ) ;
Original file line number Diff line number Diff line change @@ -1637,7 +1637,17 @@ inferType
16371637| main.rs:1297:41:1299:5 | { ... } | | main.rs:1287:5:1287:14 | S2 |
16381638| main.rs:1298:9:1298:10 | S2 | | main.rs:1287:5:1287:14 | S2 |
16391639| main.rs:1302:9:1302:12 | f1(...) | | main.rs:1271:5:1271:14 | S1 |
1640- | main.rs:1310:5:1310:20 | ...::f(...) | | main.rs:67:5:67:21 | Foo |
1641- | main.rs:1311:5:1311:60 | ...::g(...) | | main.rs:67:5:67:21 | Foo |
1642- | main.rs:1311:20:1311:38 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo |
1643- | main.rs:1311:41:1311:59 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo |
1640+ | main.rs:1313:15:1313:19 | SelfParam | | file://:0:0:0:0 | & |
1641+ | main.rs:1313:15:1313:19 | SelfParam | &T | main.rs:1312:5:1314:5 | Self [trait Trait1] |
1642+ | main.rs:1317:15:1317:19 | SelfParam | | file://:0:0:0:0 | & |
1643+ | main.rs:1317:15:1317:19 | SelfParam | &T | main.rs:1316:5:1318:5 | Self [trait Trait2] |
1644+ | main.rs:1321:15:1321:19 | SelfParam | | file://:0:0:0:0 | & |
1645+ | main.rs:1321:15:1321:19 | SelfParam | &T | main.rs:1310:5:1310:14 | S1 |
1646+ | main.rs:1325:15:1325:19 | SelfParam | | file://:0:0:0:0 | & |
1647+ | main.rs:1325:15:1325:19 | SelfParam | &T | main.rs:1310:5:1310:14 | S1 |
1648+ | main.rs:1328:37:1330:5 | { ... } | | main.rs:1310:5:1310:14 | S1 |
1649+ | main.rs:1329:9:1329:10 | S1 | | main.rs:1310:5:1310:14 | S1 |
1650+ | main.rs:1341:5:1341:20 | ...::f(...) | | main.rs:67:5:67:21 | Foo |
1651+ | main.rs:1342:5:1342:60 | ...::g(...) | | main.rs:67:5:67:21 | Foo |
1652+ | main.rs:1342:20:1342:38 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo |
1653+ | main.rs:1342:41:1342:59 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo |
You can’t perform that action at this time.
0 commit comments