Skip to content

Commit 5f4d588

Browse files
committed
Rust: Temporarily disable type information to flow into operands
1 parent 0906d85 commit 5f4d588

File tree

2 files changed

+3
-49
lines changed

2 files changed

+3
-49
lines changed

rust/ql/lib/codeql/rust/internal/TypeInference.qll

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -765,7 +765,9 @@ private Type inferCallExprBaseType(AstNode n, TypePath path) {
765765
TypePath path0
766766
|
767767
n = a.getNodeAt(apos) and
768-
result = CallExprBaseMatching::inferAccessType(a, apos, path0)
768+
result = CallExprBaseMatching::inferAccessType(a, apos, path0) and
769+
// temporary workaround until implicit borrows are handled correctly
770+
if a instanceof Operation then apos.isReturn() else any()
769771
|
770772
if apos.isSelf(_)
771773
then

rust/ql/test/library-tests/type-inference/type-inference.expected

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2298,135 +2298,93 @@ inferType
22982298
| main.rs:1594:28:1594:28 | 1 | | {EXTERNAL LOCATION} | i64 |
22992299
| main.rs:1594:34:1594:34 | 2 | | {EXTERNAL LOCATION} | i32 |
23002300
| main.rs:1594:34:1594:34 | 2 | | {EXTERNAL LOCATION} | i64 |
2301-
| main.rs:1595:13:1595:14 | v2 | | file://:0:0:0:0 | & |
23022301
| main.rs:1595:13:1595:14 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2303-
| main.rs:1595:13:1595:14 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
2304-
| main.rs:1595:18:1595:36 | Vec2 {...} | | file://:0:0:0:0 | & |
23052302
| main.rs:1595:18:1595:36 | Vec2 {...} | | main.rs:1302:5:1307:5 | Vec2 |
2306-
| main.rs:1595:18:1595:36 | Vec2 {...} | &T | main.rs:1302:5:1307:5 | Vec2 |
23072303
| main.rs:1595:28:1595:28 | 3 | | {EXTERNAL LOCATION} | i32 |
23082304
| main.rs:1595:28:1595:28 | 3 | | {EXTERNAL LOCATION} | i64 |
23092305
| main.rs:1595:34:1595:34 | 4 | | {EXTERNAL LOCATION} | i32 |
23102306
| main.rs:1595:34:1595:34 | 4 | | {EXTERNAL LOCATION} | i64 |
23112307
| main.rs:1598:13:1598:19 | vec2_eq | | {EXTERNAL LOCATION} | bool |
23122308
| main.rs:1598:23:1598:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23132309
| main.rs:1598:23:1598:30 | ... == ... | | {EXTERNAL LOCATION} | bool |
2314-
| main.rs:1598:29:1598:30 | v2 | | file://:0:0:0:0 | & |
23152310
| main.rs:1598:29:1598:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2316-
| main.rs:1598:29:1598:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23172311
| main.rs:1599:13:1599:19 | vec2_ne | | {EXTERNAL LOCATION} | bool |
23182312
| main.rs:1599:23:1599:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23192313
| main.rs:1599:23:1599:30 | ... != ... | | {EXTERNAL LOCATION} | bool |
2320-
| main.rs:1599:29:1599:30 | v2 | | file://:0:0:0:0 | & |
23212314
| main.rs:1599:29:1599:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2322-
| main.rs:1599:29:1599:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23232315
| main.rs:1600:13:1600:19 | vec2_lt | | {EXTERNAL LOCATION} | bool |
23242316
| main.rs:1600:23:1600:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23252317
| main.rs:1600:23:1600:29 | ... < ... | | {EXTERNAL LOCATION} | bool |
2326-
| main.rs:1600:28:1600:29 | v2 | | file://:0:0:0:0 | & |
23272318
| main.rs:1600:28:1600:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2328-
| main.rs:1600:28:1600:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23292319
| main.rs:1601:13:1601:19 | vec2_le | | {EXTERNAL LOCATION} | bool |
23302320
| main.rs:1601:23:1601:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23312321
| main.rs:1601:23:1601:30 | ... <= ... | | {EXTERNAL LOCATION} | bool |
2332-
| main.rs:1601:29:1601:30 | v2 | | file://:0:0:0:0 | & |
23332322
| main.rs:1601:29:1601:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2334-
| main.rs:1601:29:1601:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23352323
| main.rs:1602:13:1602:19 | vec2_gt | | {EXTERNAL LOCATION} | bool |
23362324
| main.rs:1602:23:1602:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23372325
| main.rs:1602:23:1602:29 | ... > ... | | {EXTERNAL LOCATION} | bool |
2338-
| main.rs:1602:28:1602:29 | v2 | | file://:0:0:0:0 | & |
23392326
| main.rs:1602:28:1602:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2340-
| main.rs:1602:28:1602:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23412327
| main.rs:1603:13:1603:19 | vec2_ge | | {EXTERNAL LOCATION} | bool |
23422328
| main.rs:1603:23:1603:24 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23432329
| main.rs:1603:23:1603:30 | ... >= ... | | {EXTERNAL LOCATION} | bool |
2344-
| main.rs:1603:29:1603:30 | v2 | | file://:0:0:0:0 | & |
23452330
| main.rs:1603:29:1603:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2346-
| main.rs:1603:29:1603:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23472331
| main.rs:1606:13:1606:20 | vec2_add | | main.rs:1302:5:1307:5 | Vec2 |
23482332
| main.rs:1606:24:1606:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23492333
| main.rs:1606:24:1606:30 | ... + ... | | main.rs:1302:5:1307:5 | Vec2 |
2350-
| main.rs:1606:29:1606:30 | v2 | | file://:0:0:0:0 | & |
23512334
| main.rs:1606:29:1606:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2352-
| main.rs:1606:29:1606:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23532335
| main.rs:1607:13:1607:20 | vec2_sub | | main.rs:1302:5:1307:5 | Vec2 |
23542336
| main.rs:1607:24:1607:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23552337
| main.rs:1607:24:1607:30 | ... - ... | | main.rs:1302:5:1307:5 | Vec2 |
2356-
| main.rs:1607:29:1607:30 | v2 | | file://:0:0:0:0 | & |
23572338
| main.rs:1607:29:1607:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2358-
| main.rs:1607:29:1607:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23592339
| main.rs:1608:13:1608:20 | vec2_mul | | main.rs:1302:5:1307:5 | Vec2 |
23602340
| main.rs:1608:24:1608:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23612341
| main.rs:1608:24:1608:30 | ... * ... | | main.rs:1302:5:1307:5 | Vec2 |
2362-
| main.rs:1608:29:1608:30 | v2 | | file://:0:0:0:0 | & |
23632342
| main.rs:1608:29:1608:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2364-
| main.rs:1608:29:1608:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23652343
| main.rs:1609:13:1609:20 | vec2_div | | main.rs:1302:5:1307:5 | Vec2 |
23662344
| main.rs:1609:24:1609:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23672345
| main.rs:1609:24:1609:30 | ... / ... | | main.rs:1302:5:1307:5 | Vec2 |
2368-
| main.rs:1609:29:1609:30 | v2 | | file://:0:0:0:0 | & |
23692346
| main.rs:1609:29:1609:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2370-
| main.rs:1609:29:1609:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23712347
| main.rs:1610:13:1610:20 | vec2_rem | | main.rs:1302:5:1307:5 | Vec2 |
23722348
| main.rs:1610:24:1610:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23732349
| main.rs:1610:24:1610:30 | ... % ... | | main.rs:1302:5:1307:5 | Vec2 |
2374-
| main.rs:1610:29:1610:30 | v2 | | file://:0:0:0:0 | & |
23752350
| main.rs:1610:29:1610:30 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2376-
| main.rs:1610:29:1610:30 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23772351
| main.rs:1613:13:1613:31 | mut vec2_add_assign | | main.rs:1302:5:1307:5 | Vec2 |
23782352
| main.rs:1613:35:1613:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23792353
| main.rs:1614:9:1614:23 | vec2_add_assign | | main.rs:1302:5:1307:5 | Vec2 |
23802354
| main.rs:1614:9:1614:29 | ... += ... | | file://:0:0:0:0 | () |
2381-
| main.rs:1614:28:1614:29 | v2 | | file://:0:0:0:0 | & |
23822355
| main.rs:1614:28:1614:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2383-
| main.rs:1614:28:1614:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23842356
| main.rs:1616:13:1616:31 | mut vec2_sub_assign | | main.rs:1302:5:1307:5 | Vec2 |
23852357
| main.rs:1616:35:1616:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23862358
| main.rs:1617:9:1617:23 | vec2_sub_assign | | main.rs:1302:5:1307:5 | Vec2 |
23872359
| main.rs:1617:9:1617:29 | ... -= ... | | file://:0:0:0:0 | () |
2388-
| main.rs:1617:28:1617:29 | v2 | | file://:0:0:0:0 | & |
23892360
| main.rs:1617:28:1617:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2390-
| main.rs:1617:28:1617:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23912361
| main.rs:1619:13:1619:31 | mut vec2_mul_assign | | main.rs:1302:5:1307:5 | Vec2 |
23922362
| main.rs:1619:35:1619:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
23932363
| main.rs:1620:9:1620:23 | vec2_mul_assign | | main.rs:1302:5:1307:5 | Vec2 |
23942364
| main.rs:1620:9:1620:29 | ... *= ... | | file://:0:0:0:0 | () |
2395-
| main.rs:1620:28:1620:29 | v2 | | file://:0:0:0:0 | & |
23962365
| main.rs:1620:28:1620:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2397-
| main.rs:1620:28:1620:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
23982366
| main.rs:1622:13:1622:31 | mut vec2_div_assign | | main.rs:1302:5:1307:5 | Vec2 |
23992367
| main.rs:1622:35:1622:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
24002368
| main.rs:1623:9:1623:23 | vec2_div_assign | | main.rs:1302:5:1307:5 | Vec2 |
24012369
| main.rs:1623:9:1623:29 | ... /= ... | | file://:0:0:0:0 | () |
2402-
| main.rs:1623:28:1623:29 | v2 | | file://:0:0:0:0 | & |
24032370
| main.rs:1623:28:1623:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2404-
| main.rs:1623:28:1623:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
24052371
| main.rs:1625:13:1625:31 | mut vec2_rem_assign | | main.rs:1302:5:1307:5 | Vec2 |
24062372
| main.rs:1625:35:1625:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
24072373
| main.rs:1626:9:1626:23 | vec2_rem_assign | | main.rs:1302:5:1307:5 | Vec2 |
24082374
| main.rs:1626:9:1626:29 | ... %= ... | | file://:0:0:0:0 | () |
2409-
| main.rs:1626:28:1626:29 | v2 | | file://:0:0:0:0 | & |
24102375
| main.rs:1626:28:1626:29 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2411-
| main.rs:1626:28:1626:29 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
24122376
| main.rs:1629:13:1629:23 | vec2_bitand | | main.rs:1302:5:1307:5 | Vec2 |
24132377
| main.rs:1629:27:1629:28 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
24142378
| main.rs:1629:27:1629:33 | ... & ... | | main.rs:1302:5:1307:5 | Vec2 |
2415-
| main.rs:1629:32:1629:33 | v2 | | file://:0:0:0:0 | & |
24162379
| main.rs:1629:32:1629:33 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2417-
| main.rs:1629:32:1629:33 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
24182380
| main.rs:1630:13:1630:22 | vec2_bitor | | main.rs:1302:5:1307:5 | Vec2 |
24192381
| main.rs:1630:26:1630:27 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
24202382
| main.rs:1630:26:1630:32 | ... \| ... | | main.rs:1302:5:1307:5 | Vec2 |
2421-
| main.rs:1630:31:1630:32 | v2 | | file://:0:0:0:0 | & |
24222383
| main.rs:1630:31:1630:32 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2423-
| main.rs:1630:31:1630:32 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
24242384
| main.rs:1631:13:1631:23 | vec2_bitxor | | main.rs:1302:5:1307:5 | Vec2 |
24252385
| main.rs:1631:27:1631:28 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
24262386
| main.rs:1631:27:1631:33 | ... ^ ... | | main.rs:1302:5:1307:5 | Vec2 |
2427-
| main.rs:1631:32:1631:33 | v2 | | file://:0:0:0:0 | & |
24282387
| main.rs:1631:32:1631:33 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2429-
| main.rs:1631:32:1631:33 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
24302388
| main.rs:1632:13:1632:20 | vec2_shl | | main.rs:1302:5:1307:5 | Vec2 |
24312389
| main.rs:1632:24:1632:25 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
24322390
| main.rs:1632:24:1632:33 | ... << ... | | main.rs:1302:5:1307:5 | Vec2 |
@@ -2439,23 +2397,17 @@ inferType
24392397
| main.rs:1636:38:1636:39 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
24402398
| main.rs:1637:9:1637:26 | vec2_bitand_assign | | main.rs:1302:5:1307:5 | Vec2 |
24412399
| main.rs:1637:9:1637:32 | ... &= ... | | file://:0:0:0:0 | () |
2442-
| main.rs:1637:31:1637:32 | v2 | | file://:0:0:0:0 | & |
24432400
| main.rs:1637:31:1637:32 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2444-
| main.rs:1637:31:1637:32 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
24452401
| main.rs:1639:13:1639:33 | mut vec2_bitor_assign | | main.rs:1302:5:1307:5 | Vec2 |
24462402
| main.rs:1639:37:1639:38 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
24472403
| main.rs:1640:9:1640:25 | vec2_bitor_assign | | main.rs:1302:5:1307:5 | Vec2 |
24482404
| main.rs:1640:9:1640:31 | ... \|= ... | | file://:0:0:0:0 | () |
2449-
| main.rs:1640:30:1640:31 | v2 | | file://:0:0:0:0 | & |
24502405
| main.rs:1640:30:1640:31 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2451-
| main.rs:1640:30:1640:31 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
24522406
| main.rs:1642:13:1642:34 | mut vec2_bitxor_assign | | main.rs:1302:5:1307:5 | Vec2 |
24532407
| main.rs:1642:38:1642:39 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
24542408
| main.rs:1643:9:1643:26 | vec2_bitxor_assign | | main.rs:1302:5:1307:5 | Vec2 |
24552409
| main.rs:1643:9:1643:32 | ... ^= ... | | file://:0:0:0:0 | () |
2456-
| main.rs:1643:31:1643:32 | v2 | | file://:0:0:0:0 | & |
24572410
| main.rs:1643:31:1643:32 | v2 | | main.rs:1302:5:1307:5 | Vec2 |
2458-
| main.rs:1643:31:1643:32 | v2 | &T | main.rs:1302:5:1307:5 | Vec2 |
24592411
| main.rs:1645:13:1645:31 | mut vec2_shl_assign | | main.rs:1302:5:1307:5 | Vec2 |
24602412
| main.rs:1645:35:1645:36 | v1 | | main.rs:1302:5:1307:5 | Vec2 |
24612413
| main.rs:1646:9:1646:23 | vec2_shl_assign | | main.rs:1302:5:1307:5 | Vec2 |

0 commit comments

Comments
 (0)