Skip to content

Commit 21c030f

Browse files
committed
Rust: Expand on type inference test for tuples
1 parent 87a8dcc commit 21c030f

File tree

2 files changed

+108
-95
lines changed

2 files changed

+108
-95
lines changed

rust/ql/test/library-tests/type-inference/main.rs

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2334,11 +2334,11 @@ mod tuples {
23342334
}
23352335

23362336
pub fn f() {
2337-
let a = S1::get_pair(); // $ target=get_pair MISSING: type=a:?
2338-
let mut b = S1::get_pair(); // $ target=get_pair MISSING: type=b:?
2339-
let (c, d) = S1::get_pair(); // $ target=get_pair MISSING: type=c:? type=d:?
2340-
let (mut e, f) = S1::get_pair(); // $ target=get_pair MISSING: type=e: type=f:
2341-
let (mut g, mut h) = S1::get_pair(); // $ target=get_pair MISSING: type=g:? type=h:?
2337+
let a = S1::get_pair(); // $ target=get_pair MISSING: type=a:(T_2)
2338+
let mut b = S1::get_pair(); // $ target=get_pair MISSING: type=b:(T_2)
2339+
let (c, d) = S1::get_pair(); // $ target=get_pair MISSING: type=c:S1 type=d:S1
2340+
let (mut e, f) = S1::get_pair(); // $ target=get_pair MISSING: type=e:S1 type=f:S1
2341+
let (mut g, mut h) = S1::get_pair(); // $ target=get_pair MISSING: type=g:S1 type=h:S1
23422342

23432343
a.0.foo(); // $ MISSING: target=foo
23442344
b.1.foo(); // $ MISSING: target=foo
@@ -2348,6 +2348,15 @@ mod tuples {
23482348
f.foo(); // $ MISSING: target=foo
23492349
g.foo(); // $ MISSING: target=foo
23502350
h.foo(); // $ MISSING: target=foo
2351+
2352+
// Here type information must flow from `pair.0` and `pair.1` into
2353+
// `pair` and from `(a, b)` into `a` and `b` in order for the types of
2354+
// `a` and `b` to be inferred.
2355+
let a = Default::default(); // $ MISSING: target=default type=a:i64
2356+
let b = Default::default(); // $ MISSING: target=default MISSING: type=b:bool
2357+
let pair = (a, b); // $ MISSING: type=pair:0.i64 type=pair:1.bool
2358+
let i: i64 = pair.0;
2359+
let j: bool = pair.1;
23512360
}
23522361
}
23532362

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

Lines changed: 94 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -4059,96 +4059,100 @@ inferType
40594059
| main.rs:2331:14:2331:18 | S1 {...} | | main.rs:2327:5:2327:16 | S1 |
40604060
| main.rs:2331:21:2331:25 | S1 {...} | | main.rs:2327:5:2327:16 | S1 |
40614061
| main.rs:2333:16:2333:19 | SelfParam | | main.rs:2327:5:2327:16 | S1 |
4062-
| main.rs:2357:13:2357:23 | boxed_value | | {EXTERNAL LOCATION} | Box |
4063-
| main.rs:2357:13:2357:23 | boxed_value | A | {EXTERNAL LOCATION} | Global |
4064-
| main.rs:2357:13:2357:23 | boxed_value | T | {EXTERNAL LOCATION} | i32 |
4065-
| main.rs:2357:27:2357:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
4066-
| main.rs:2357:27:2357:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
4067-
| main.rs:2357:27:2357:42 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 |
4068-
| main.rs:2357:36:2357:41 | 100i32 | | {EXTERNAL LOCATION} | i32 |
4069-
| main.rs:2360:15:2360:25 | boxed_value | | {EXTERNAL LOCATION} | Box |
4070-
| main.rs:2360:15:2360:25 | boxed_value | A | {EXTERNAL LOCATION} | Global |
4071-
| main.rs:2360:15:2360:25 | boxed_value | T | {EXTERNAL LOCATION} | i32 |
4072-
| main.rs:2361:13:2361:19 | box 100 | | {EXTERNAL LOCATION} | Box |
4073-
| main.rs:2361:13:2361:19 | box 100 | A | {EXTERNAL LOCATION} | Global |
4074-
| main.rs:2361:13:2361:19 | box 100 | T | {EXTERNAL LOCATION} | i32 |
4075-
| main.rs:2361:17:2361:19 | 100 | | {EXTERNAL LOCATION} | i32 |
4076-
| main.rs:2362:26:2362:36 | "Boxed 100\\n" | | file://:0:0:0:0 | & |
4077-
| main.rs:2362:26:2362:36 | "Boxed 100\\n" | &T | {EXTERNAL LOCATION} | str |
4078-
| main.rs:2362:26:2362:36 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments |
4079-
| main.rs:2362:26:2362:36 | MacroExpr | | {EXTERNAL LOCATION} | Arguments |
4080-
| main.rs:2364:13:2364:17 | box ... | | {EXTERNAL LOCATION} | Box |
4081-
| main.rs:2364:13:2364:17 | box ... | A | {EXTERNAL LOCATION} | Global |
4082-
| main.rs:2364:13:2364:17 | box ... | T | {EXTERNAL LOCATION} | i32 |
4083-
| main.rs:2366:26:2366:42 | "Boxed value: {}\\n" | | file://:0:0:0:0 | & |
4084-
| main.rs:2366:26:2366:42 | "Boxed value: {}\\n" | &T | {EXTERNAL LOCATION} | str |
4085-
| main.rs:2366:26:2366:51 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments |
4086-
| main.rs:2366:26:2366:51 | MacroExpr | | {EXTERNAL LOCATION} | Arguments |
4087-
| main.rs:2371:13:2371:22 | nested_box | | {EXTERNAL LOCATION} | Box |
4088-
| main.rs:2371:13:2371:22 | nested_box | A | {EXTERNAL LOCATION} | Global |
4089-
| main.rs:2371:13:2371:22 | nested_box | T | {EXTERNAL LOCATION} | Box |
4090-
| main.rs:2371:13:2371:22 | nested_box | T.A | {EXTERNAL LOCATION} | Global |
4091-
| main.rs:2371:13:2371:22 | nested_box | T.T | {EXTERNAL LOCATION} | i32 |
4092-
| main.rs:2371:26:2371:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
4093-
| main.rs:2371:26:2371:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
4094-
| main.rs:2371:26:2371:50 | ...::new(...) | T | {EXTERNAL LOCATION} | Box |
4095-
| main.rs:2371:26:2371:50 | ...::new(...) | T.A | {EXTERNAL LOCATION} | Global |
4096-
| main.rs:2371:26:2371:50 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 |
4097-
| main.rs:2371:35:2371:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
4098-
| main.rs:2371:35:2371:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
4099-
| main.rs:2371:35:2371:49 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 |
4100-
| main.rs:2371:44:2371:48 | 42i32 | | {EXTERNAL LOCATION} | i32 |
4101-
| main.rs:2372:15:2372:24 | nested_box | | {EXTERNAL LOCATION} | Box |
4102-
| main.rs:2372:15:2372:24 | nested_box | A | {EXTERNAL LOCATION} | Global |
4103-
| main.rs:2372:15:2372:24 | nested_box | T | {EXTERNAL LOCATION} | Box |
4104-
| main.rs:2372:15:2372:24 | nested_box | T.A | {EXTERNAL LOCATION} | Global |
4105-
| main.rs:2372:15:2372:24 | nested_box | T.T | {EXTERNAL LOCATION} | i32 |
4106-
| main.rs:2373:13:2373:21 | box ... | | {EXTERNAL LOCATION} | Box |
4107-
| main.rs:2373:13:2373:21 | box ... | A | {EXTERNAL LOCATION} | Global |
4108-
| main.rs:2373:13:2373:21 | box ... | T | {EXTERNAL LOCATION} | Box |
4109-
| main.rs:2373:13:2373:21 | box ... | T.A | {EXTERNAL LOCATION} | Global |
4110-
| main.rs:2373:13:2373:21 | box ... | T.T | {EXTERNAL LOCATION} | i32 |
4111-
| main.rs:2375:26:2375:43 | "Nested boxed: {}\\n" | | file://:0:0:0:0 | & |
4112-
| main.rs:2375:26:2375:43 | "Nested boxed: {}\\n" | &T | {EXTERNAL LOCATION} | str |
4113-
| main.rs:2375:26:2375:59 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments |
4114-
| main.rs:2375:26:2375:59 | MacroExpr | | {EXTERNAL LOCATION} | Arguments |
4115-
| main.rs:2387:16:2387:20 | SelfParam | | file://:0:0:0:0 | & |
4116-
| main.rs:2387:16:2387:20 | SelfParam | &T | main.rs:2382:5:2384:5 | Row |
4117-
| main.rs:2387:30:2389:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
4118-
| main.rs:2388:13:2388:16 | self | | file://:0:0:0:0 | & |
4119-
| main.rs:2388:13:2388:16 | self | &T | main.rs:2382:5:2384:5 | Row |
4120-
| main.rs:2388:13:2388:21 | self.data | | {EXTERNAL LOCATION} | i64 |
4121-
| main.rs:2397:26:2399:9 | { ... } | | main.rs:2392:5:2394:5 | Table |
4122-
| main.rs:2398:13:2398:38 | Table {...} | | main.rs:2392:5:2394:5 | Table |
4123-
| main.rs:2398:27:2398:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec |
4124-
| main.rs:2398:27:2398:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
4125-
| main.rs:2398:27:2398:36 | ...::new(...) | T | main.rs:2382:5:2384:5 | Row |
4126-
| main.rs:2401:23:2401:27 | SelfParam | | file://:0:0:0:0 | & |
4127-
| main.rs:2401:23:2401:27 | SelfParam | &T | main.rs:2392:5:2394:5 | Table |
4128-
| main.rs:2401:30:2401:37 | property | | main.rs:2401:40:2401:59 | ImplTraitTypeRepr |
4129-
| main.rs:2401:69:2403:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
4130-
| main.rs:2401:69:2403:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
4131-
| main.rs:2402:13:2402:13 | 0 | | {EXTERNAL LOCATION} | i32 |
4132-
| main.rs:2402:13:2402:13 | 0 | | {EXTERNAL LOCATION} | i64 |
4133-
| main.rs:2407:9:2407:15 | Some(...) | | {EXTERNAL LOCATION} | Option |
4134-
| main.rs:2407:9:2407:15 | Some(...) | T | {EXTERNAL LOCATION} | i32 |
4135-
| main.rs:2407:9:2410:10 | ... .map(...) | | {EXTERNAL LOCATION} | Option |
4136-
| main.rs:2407:14:2407:14 | 1 | | {EXTERNAL LOCATION} | i32 |
4137-
| main.rs:2409:22:2409:26 | "{x}\\n" | | file://:0:0:0:0 | & |
4138-
| main.rs:2409:22:2409:26 | "{x}\\n" | &T | {EXTERNAL LOCATION} | str |
4139-
| main.rs:2409:22:2409:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments |
4140-
| main.rs:2409:22:2409:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments |
4141-
| main.rs:2412:13:2412:17 | table | | main.rs:2392:5:2394:5 | Table |
4142-
| main.rs:2412:21:2412:32 | ...::new(...) | | main.rs:2392:5:2394:5 | Table |
4143-
| main.rs:2413:13:2413:18 | result | | {EXTERNAL LOCATION} | i64 |
4144-
| main.rs:2413:22:2413:26 | table | | main.rs:2392:5:2394:5 | Table |
4145-
| main.rs:2413:22:2417:14 | table.count_with(...) | | {EXTERNAL LOCATION} | i64 |
4146-
| main.rs:2416:21:2416:21 | 0 | | {EXTERNAL LOCATION} | i32 |
4147-
| main.rs:2423:5:2423:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo |
4148-
| main.rs:2424:5:2424:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo |
4149-
| main.rs:2424:20:2424:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo |
4150-
| main.rs:2424:41:2424:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo |
4151-
| main.rs:2440:5:2440:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future |
4062+
| main.rs:2358:13:2358:13 | i | | {EXTERNAL LOCATION} | i64 |
4063+
| main.rs:2358:22:2358:27 | pair.0 | | {EXTERNAL LOCATION} | i64 |
4064+
| main.rs:2359:13:2359:13 | j | | {EXTERNAL LOCATION} | bool |
4065+
| main.rs:2359:23:2359:28 | pair.1 | | {EXTERNAL LOCATION} | bool |
4066+
| main.rs:2366:13:2366:23 | boxed_value | | {EXTERNAL LOCATION} | Box |
4067+
| main.rs:2366:13:2366:23 | boxed_value | A | {EXTERNAL LOCATION} | Global |
4068+
| main.rs:2366:13:2366:23 | boxed_value | T | {EXTERNAL LOCATION} | i32 |
4069+
| main.rs:2366:27:2366:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
4070+
| main.rs:2366:27:2366:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
4071+
| main.rs:2366:27:2366:42 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 |
4072+
| main.rs:2366:36:2366:41 | 100i32 | | {EXTERNAL LOCATION} | i32 |
4073+
| main.rs:2369:15:2369:25 | boxed_value | | {EXTERNAL LOCATION} | Box |
4074+
| main.rs:2369:15:2369:25 | boxed_value | A | {EXTERNAL LOCATION} | Global |
4075+
| main.rs:2369:15:2369:25 | boxed_value | T | {EXTERNAL LOCATION} | i32 |
4076+
| main.rs:2370:13:2370:19 | box 100 | | {EXTERNAL LOCATION} | Box |
4077+
| main.rs:2370:13:2370:19 | box 100 | A | {EXTERNAL LOCATION} | Global |
4078+
| main.rs:2370:13:2370:19 | box 100 | T | {EXTERNAL LOCATION} | i32 |
4079+
| main.rs:2370:17:2370:19 | 100 | | {EXTERNAL LOCATION} | i32 |
4080+
| main.rs:2371:26:2371:36 | "Boxed 100\\n" | | file://:0:0:0:0 | & |
4081+
| main.rs:2371:26:2371:36 | "Boxed 100\\n" | &T | {EXTERNAL LOCATION} | str |
4082+
| main.rs:2371:26:2371:36 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments |
4083+
| main.rs:2371:26:2371:36 | MacroExpr | | {EXTERNAL LOCATION} | Arguments |
4084+
| main.rs:2373:13:2373:17 | box ... | | {EXTERNAL LOCATION} | Box |
4085+
| main.rs:2373:13:2373:17 | box ... | A | {EXTERNAL LOCATION} | Global |
4086+
| main.rs:2373:13:2373:17 | box ... | T | {EXTERNAL LOCATION} | i32 |
4087+
| main.rs:2375:26:2375:42 | "Boxed value: {}\\n" | | file://:0:0:0:0 | & |
4088+
| main.rs:2375:26:2375:42 | "Boxed value: {}\\n" | &T | {EXTERNAL LOCATION} | str |
4089+
| main.rs:2375:26:2375:51 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments |
4090+
| main.rs:2375:26:2375:51 | MacroExpr | | {EXTERNAL LOCATION} | Arguments |
4091+
| main.rs:2380:13:2380:22 | nested_box | | {EXTERNAL LOCATION} | Box |
4092+
| main.rs:2380:13:2380:22 | nested_box | A | {EXTERNAL LOCATION} | Global |
4093+
| main.rs:2380:13:2380:22 | nested_box | T | {EXTERNAL LOCATION} | Box |
4094+
| main.rs:2380:13:2380:22 | nested_box | T.A | {EXTERNAL LOCATION} | Global |
4095+
| main.rs:2380:13:2380:22 | nested_box | T.T | {EXTERNAL LOCATION} | i32 |
4096+
| main.rs:2380:26:2380:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
4097+
| main.rs:2380:26:2380:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
4098+
| main.rs:2380:26:2380:50 | ...::new(...) | T | {EXTERNAL LOCATION} | Box |
4099+
| main.rs:2380:26:2380:50 | ...::new(...) | T.A | {EXTERNAL LOCATION} | Global |
4100+
| main.rs:2380:26:2380:50 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 |
4101+
| main.rs:2380:35:2380:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
4102+
| main.rs:2380:35:2380:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
4103+
| main.rs:2380:35:2380:49 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 |
4104+
| main.rs:2380:44:2380:48 | 42i32 | | {EXTERNAL LOCATION} | i32 |
4105+
| main.rs:2381:15:2381:24 | nested_box | | {EXTERNAL LOCATION} | Box |
4106+
| main.rs:2381:15:2381:24 | nested_box | A | {EXTERNAL LOCATION} | Global |
4107+
| main.rs:2381:15:2381:24 | nested_box | T | {EXTERNAL LOCATION} | Box |
4108+
| main.rs:2381:15:2381:24 | nested_box | T.A | {EXTERNAL LOCATION} | Global |
4109+
| main.rs:2381:15:2381:24 | nested_box | T.T | {EXTERNAL LOCATION} | i32 |
4110+
| main.rs:2382:13:2382:21 | box ... | | {EXTERNAL LOCATION} | Box |
4111+
| main.rs:2382:13:2382:21 | box ... | A | {EXTERNAL LOCATION} | Global |
4112+
| main.rs:2382:13:2382:21 | box ... | T | {EXTERNAL LOCATION} | Box |
4113+
| main.rs:2382:13:2382:21 | box ... | T.A | {EXTERNAL LOCATION} | Global |
4114+
| main.rs:2382:13:2382:21 | box ... | T.T | {EXTERNAL LOCATION} | i32 |
4115+
| main.rs:2384:26:2384:43 | "Nested boxed: {}\\n" | | file://:0:0:0:0 | & |
4116+
| main.rs:2384:26:2384:43 | "Nested boxed: {}\\n" | &T | {EXTERNAL LOCATION} | str |
4117+
| main.rs:2384:26:2384:59 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments |
4118+
| main.rs:2384:26:2384:59 | MacroExpr | | {EXTERNAL LOCATION} | Arguments |
4119+
| main.rs:2396:16:2396:20 | SelfParam | | file://:0:0:0:0 | & |
4120+
| main.rs:2396:16:2396:20 | SelfParam | &T | main.rs:2391:5:2393:5 | Row |
4121+
| main.rs:2396:30:2398:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
4122+
| main.rs:2397:13:2397:16 | self | | file://:0:0:0:0 | & |
4123+
| main.rs:2397:13:2397:16 | self | &T | main.rs:2391:5:2393:5 | Row |
4124+
| main.rs:2397:13:2397:21 | self.data | | {EXTERNAL LOCATION} | i64 |
4125+
| main.rs:2406:26:2408:9 | { ... } | | main.rs:2401:5:2403:5 | Table |
4126+
| main.rs:2407:13:2407:38 | Table {...} | | main.rs:2401:5:2403:5 | Table |
4127+
| main.rs:2407:27:2407:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec |
4128+
| main.rs:2407:27:2407:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
4129+
| main.rs:2407:27:2407:36 | ...::new(...) | T | main.rs:2391:5:2393:5 | Row |
4130+
| main.rs:2410:23:2410:27 | SelfParam | | file://:0:0:0:0 | & |
4131+
| main.rs:2410:23:2410:27 | SelfParam | &T | main.rs:2401:5:2403:5 | Table |
4132+
| main.rs:2410:30:2410:37 | property | | main.rs:2410:40:2410:59 | ImplTraitTypeRepr |
4133+
| main.rs:2410:69:2412:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
4134+
| main.rs:2410:69:2412:9 | { ... } | | {EXTERNAL LOCATION} | i64 |
4135+
| main.rs:2411:13:2411:13 | 0 | | {EXTERNAL LOCATION} | i32 |
4136+
| main.rs:2411:13:2411:13 | 0 | | {EXTERNAL LOCATION} | i64 |
4137+
| main.rs:2416:9:2416:15 | Some(...) | | {EXTERNAL LOCATION} | Option |
4138+
| main.rs:2416:9:2416:15 | Some(...) | T | {EXTERNAL LOCATION} | i32 |
4139+
| main.rs:2416:9:2419:10 | ... .map(...) | | {EXTERNAL LOCATION} | Option |
4140+
| main.rs:2416:14:2416:14 | 1 | | {EXTERNAL LOCATION} | i32 |
4141+
| main.rs:2418:22:2418:26 | "{x}\\n" | | file://:0:0:0:0 | & |
4142+
| main.rs:2418:22:2418:26 | "{x}\\n" | &T | {EXTERNAL LOCATION} | str |
4143+
| main.rs:2418:22:2418:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments |
4144+
| main.rs:2418:22:2418:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments |
4145+
| main.rs:2421:13:2421:17 | table | | main.rs:2401:5:2403:5 | Table |
4146+
| main.rs:2421:21:2421:32 | ...::new(...) | | main.rs:2401:5:2403:5 | Table |
4147+
| main.rs:2422:13:2422:18 | result | | {EXTERNAL LOCATION} | i64 |
4148+
| main.rs:2422:22:2422:26 | table | | main.rs:2401:5:2403:5 | Table |
4149+
| main.rs:2422:22:2426:14 | table.count_with(...) | | {EXTERNAL LOCATION} | i64 |
4150+
| main.rs:2425:21:2425:21 | 0 | | {EXTERNAL LOCATION} | i32 |
4151+
| main.rs:2432:5:2432:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo |
4152+
| main.rs:2433:5:2433:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo |
4153+
| main.rs:2433:20:2433:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo |
4154+
| main.rs:2433:41:2433:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo |
4155+
| main.rs:2449:5:2449:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future |
41524156
| pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option |
41534157
| pattern_matching.rs:14:9:14:13 | value | | {EXTERNAL LOCATION} | Option |
41544158
| pattern_matching.rs:14:9:14:13 | value | T | {EXTERNAL LOCATION} | i32 |

0 commit comments

Comments
 (0)