diff options
Diffstat (limited to 'crates/hir_ty/src/tests/simple.rs')
-rw-r--r-- | crates/hir_ty/src/tests/simple.rs | 41 |
1 files changed, 33 insertions, 8 deletions
diff --git a/crates/hir_ty/src/tests/simple.rs b/crates/hir_ty/src/tests/simple.rs index b364c2e58..20ceb7415 100644 --- a/crates/hir_ty/src/tests/simple.rs +++ b/crates/hir_ty/src/tests/simple.rs | |||
@@ -2427,13 +2427,38 @@ fn infer_inner_type() { | |||
2427 | } | 2427 | } |
2428 | "#, | 2428 | "#, |
2429 | expect![[r#" | 2429 | expect![[r#" |
2430 | 9..89 '{ ...eld; }': () | 2430 | 9..89 '{ ...eld; }': () |
2431 | 47..48 's': S | 2431 | 47..48 's': S |
2432 | 51..65 'S { field: 0 }': S | 2432 | 51..65 'S { field: 0 }': S |
2433 | 62..63 '0': u32 | 2433 | 62..63 '0': u32 |
2434 | 75..76 'f': u32 | 2434 | 75..76 'f': u32 |
2435 | 79..80 's': S | 2435 | 79..80 's': S |
2436 | 79..86 's.field': u32 | 2436 | 79..86 's.field': u32 |
2437 | "#]], | 2437 | "#]], |
2438 | ); | ||
2439 | } | ||
2440 | |||
2441 | #[test] | ||
2442 | fn infer_nested_inner_type() { | ||
2443 | check_infer( | ||
2444 | r#" | ||
2445 | fn foo() { | ||
2446 | { | ||
2447 | let s = S { field: 0 }; | ||
2448 | let f = s.field; | ||
2449 | } | ||
2450 | struct S { field: u32 } | ||
2451 | } | ||
2452 | "#, | ||
2453 | expect![[r#" | ||
2454 | 9..109 '{ ...32 } }': () | ||
2455 | 15..79 '{ ... }': () | ||
2456 | 29..30 's': S | ||
2457 | 33..47 'S { field: 0 }': S | ||
2458 | 44..45 '0': u32 | ||
2459 | 61..62 'f': u32 | ||
2460 | 65..66 's': S | ||
2461 | 65..72 's.field': u32 | ||
2462 | "#]], | ||
2438 | ); | 2463 | ); |
2439 | } | 2464 | } |