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_ {
1305
1305
}
1306
1306
}
1307
1307
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
+
1308
1339
fn main ( ) {
1309
1340
field_access:: f ( ) ;
1310
1341
method_impl:: f ( ) ;
Original file line number Diff line number Diff line change @@ -1637,7 +1637,17 @@ inferType
1637
1637
| main.rs:1297:41:1299:5 | { ... } | | main.rs:1287:5:1287:14 | S2 |
1638
1638
| main.rs:1298:9:1298:10 | S2 | | main.rs:1287:5:1287:14 | S2 |
1639
1639
| 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