mirror of
https://github.com/github/codeql.git
synced 2026-04-26 17:25:19 +02:00
Rust: If we're inferring both ways, it should really be to any element.
This commit is contained in:
@@ -289,7 +289,7 @@ private predicate typeEquality(AstNode n1, TypePath prefix1, AstNode n2, TypePat
|
||||
)
|
||||
or
|
||||
// an array list expression (`[1, 2, 3]`) has the type of the first (any) element
|
||||
n1.(ArrayListExpr).getExpr(0) = n2 and
|
||||
n1.(ArrayListExpr).getExpr(_) = n2 and
|
||||
prefix1 = TypePath::singleton(TArrayTypeParameter()) and
|
||||
prefix2.isEmpty()
|
||||
or
|
||||
|
||||
@@ -2664,12 +2664,19 @@ inferType
|
||||
| main.rs:1832:19:1832:19 | 1 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1832:22:1832:22 | 2 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1832:25:1832:25 | 3 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1834:13:1834:17 | vals1 | [T;...] | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1834:13:1834:17 | vals1 | [T;...] | {EXTERNAL LOCATION} | u8 |
|
||||
| main.rs:1834:21:1834:31 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1834:21:1834:31 | [...] | [T;...] | {EXTERNAL LOCATION} | u8 |
|
||||
| main.rs:1834:22:1834:24 | 1u8 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1834:22:1834:24 | 1u8 | | {EXTERNAL LOCATION} | u8 |
|
||||
| main.rs:1834:27:1834:27 | 2 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1834:27:1834:27 | 2 | | {EXTERNAL LOCATION} | u8 |
|
||||
| main.rs:1834:30:1834:30 | 3 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1834:30:1834:30 | 3 | | {EXTERNAL LOCATION} | u8 |
|
||||
| main.rs:1835:13:1835:13 | u | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1835:13:1835:13 | u | | {EXTERNAL LOCATION} | u8 |
|
||||
| main.rs:1835:18:1835:22 | vals1 | [T;...] | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1835:18:1835:22 | vals1 | [T;...] | {EXTERNAL LOCATION} | u8 |
|
||||
| main.rs:1837:13:1837:17 | vals2 | [T;...] | {EXTERNAL LOCATION} | u16 |
|
||||
| main.rs:1837:21:1837:29 | [1u16; 3] | [T;...] | {EXTERNAL LOCATION} | u16 |
|
||||
@@ -2687,7 +2694,9 @@ inferType
|
||||
| main.rs:1840:32:1840:32 | 1 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1840:32:1840:32 | 1 | | {EXTERNAL LOCATION} | u32 |
|
||||
| main.rs:1840:35:1840:35 | 2 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1840:35:1840:35 | 2 | | {EXTERNAL LOCATION} | u32 |
|
||||
| main.rs:1840:38:1840:38 | 3 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1840:38:1840:38 | 3 | | {EXTERNAL LOCATION} | u32 |
|
||||
| main.rs:1841:13:1841:13 | u | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1841:13:1841:13 | u | | {EXTERNAL LOCATION} | u32 |
|
||||
| main.rs:1841:18:1841:22 | vals3 | | file://:0:0:0:0 | [] |
|
||||
@@ -2772,13 +2781,17 @@ inferType
|
||||
| main.rs:1875:13:1875:17 | vals4 | | {EXTERNAL LOCATION} | Vec |
|
||||
| main.rs:1875:13:1875:17 | vals4 | T | file://:0:0:0:0 | & |
|
||||
| main.rs:1875:13:1875:17 | vals4 | T.&T | {EXTERNAL LOCATION} | u64 |
|
||||
| main.rs:1875:33:1875:44 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1875:33:1875:44 | [...] | [T;...] | {EXTERNAL LOCATION} | u64 |
|
||||
| main.rs:1875:33:1875:61 | ... .collect() | | {EXTERNAL LOCATION} | Vec |
|
||||
| main.rs:1875:33:1875:61 | ... .collect() | T | file://:0:0:0:0 | & |
|
||||
| main.rs:1875:33:1875:61 | ... .collect() | T.&T | {EXTERNAL LOCATION} | u64 |
|
||||
| main.rs:1875:34:1875:37 | 1u64 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1875:34:1875:37 | 1u64 | | {EXTERNAL LOCATION} | u64 |
|
||||
| main.rs:1875:40:1875:40 | 2 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1875:40:1875:40 | 2 | | {EXTERNAL LOCATION} | u64 |
|
||||
| main.rs:1875:43:1875:43 | 3 | | {EXTERNAL LOCATION} | i32 |
|
||||
| main.rs:1875:43:1875:43 | 3 | | {EXTERNAL LOCATION} | u64 |
|
||||
| main.rs:1876:18:1876:22 | vals4 | | {EXTERNAL LOCATION} | Vec |
|
||||
| main.rs:1876:18:1876:22 | vals4 | T | file://:0:0:0:0 | & |
|
||||
| main.rs:1876:18:1876:22 | vals4 | T.&T | {EXTERNAL LOCATION} | u64 |
|
||||
|
||||
Reference in New Issue
Block a user