diff options
author | Marcus Klaas de Vries <[email protected]> | 2019-01-17 12:40:45 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-01-19 12:37:26 +0000 |
commit | 44e9a9605b2b3916669182ba091599d59653c497 (patch) | |
tree | 0bdeef63c2a1523ca69dda856226979f9a78f606 /crates/ra_hir/src/ty | |
parent | d48d5b8b6ca59b462b3a84dad9868daff2eddb6d (diff) |
Fixup annotated bindings
Diffstat (limited to 'crates/ra_hir/src/ty')
-rw-r--r-- | crates/ra_hir/src/ty/tests.rs | 6 | ||||
-rw-r--r-- | crates/ra_hir/src/ty/tests/data/adt_pattern.txt | 6 | ||||
-rw-r--r-- | crates/ra_hir/src/ty/tests/data/pattern.txt | 10 |
3 files changed, 19 insertions, 3 deletions
diff --git a/crates/ra_hir/src/ty/tests.rs b/crates/ra_hir/src/ty/tests.rs index e817a8da9..fc4054159 100644 --- a/crates/ra_hir/src/ty/tests.rs +++ b/crates/ra_hir/src/ty/tests.rs | |||
@@ -359,7 +359,7 @@ fn test(x: &str, y: isize) { | |||
359 | } | 359 | } |
360 | 360 | ||
361 | #[test] | 361 | #[test] |
362 | fn infer_simple_pattern() { | 362 | fn infer_pattern() { |
363 | check_inference( | 363 | check_inference( |
364 | r#" | 364 | r#" |
365 | fn test(x: &i32) { | 365 | fn test(x: &i32) { |
@@ -381,6 +381,7 @@ fn test(x: &i32) { | |||
381 | let ref ref_to_x = x; | 381 | let ref ref_to_x = x; |
382 | let mut mut_x = x; | 382 | let mut mut_x = x; |
383 | let ref mut mut_ref_to_x = x; | 383 | let ref mut mut_ref_to_x = x; |
384 | let k = mut_ref_to_x; | ||
384 | } | 385 | } |
385 | "#, | 386 | "#, |
386 | "pattern.txt", | 387 | "pattern.txt", |
@@ -408,6 +409,9 @@ fn test() { | |||
408 | E::A { x } => x, | 409 | E::A { x } => x, |
409 | E::B => 1, | 410 | E::B => 1, |
410 | }; | 411 | }; |
412 | |||
413 | let ref d @ E::A { .. } = e; | ||
414 | d; | ||
411 | } | 415 | } |
412 | "#, | 416 | "#, |
413 | "adt_pattern.txt", | 417 | "adt_pattern.txt", |
diff --git a/crates/ra_hir/src/ty/tests/data/adt_pattern.txt b/crates/ra_hir/src/ty/tests/data/adt_pattern.txt index 3b9b9a078..2daf9647b 100644 --- a/crates/ra_hir/src/ty/tests/data/adt_pattern.txt +++ b/crates/ra_hir/src/ty/tests/data/adt_pattern.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | [68; 221) '{ ... }; }': () | 1 | [68; 262) '{ ... d; }': () |
2 | [78; 79) 'e': E | 2 | [78; 79) 'e': E |
3 | [82; 95) 'E::A { x: 3 }': E | 3 | [82; 95) 'E::A { x: 3 }': E |
4 | [92; 93) '3': usize | 4 | [92; 93) '3': usize |
@@ -16,3 +16,7 @@ | |||
16 | [191; 192) 'x': usize | 16 | [191; 192) 'x': usize |
17 | [202; 206) 'E::B': E | 17 | [202; 206) 'E::B': E |
18 | [210; 211) '1': usize | 18 | [210; 211) '1': usize |
19 | [229; 248) 'ref d ...{ .. }': &E | ||
20 | [237; 248) 'E::A { .. }': E | ||
21 | [251; 252) 'e': E | ||
22 | [258; 259) 'd': &E | ||
diff --git a/crates/ra_hir/src/ty/tests/data/pattern.txt b/crates/ra_hir/src/ty/tests/data/pattern.txt index 8b7c967c4..966289aaf 100644 --- a/crates/ra_hir/src/ty/tests/data/pattern.txt +++ b/crates/ra_hir/src/ty/tests/data/pattern.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | [9; 10) 'x': &i32 | 1 | [9; 10) 'x': &i32 |
2 | [18; 259) '{ ...c }; }': () | 2 | [18; 369) '{ ...o_x; }': () |
3 | [28; 29) 'y': &i32 | 3 | [28; 29) 'y': &i32 |
4 | [32; 33) 'x': &i32 | 4 | [32; 33) 'x': &i32 |
5 | [43; 45) '&z': &i32 | 5 | [43; 45) '&z': &i32 |
@@ -37,3 +37,11 @@ | |||
37 | [246; 251) 'a + b': u64 | 37 | [246; 251) 'a + b': u64 |
38 | [250; 251) 'b': u64 | 38 | [250; 251) 'b': u64 |
39 | [253; 254) 'c': i32 | 39 | [253; 254) 'c': i32 |
40 | [267; 279) 'ref ref_to_x': &&i32 | ||
41 | [282; 283) 'x': &i32 | ||
42 | [293; 302) 'mut mut_x': &i32 | ||
43 | [305; 306) 'x': &i32 | ||
44 | [316; 336) 'ref mu...f_to_x': &mut &i32 | ||
45 | [339; 340) 'x': &i32 | ||
46 | [350; 351) 'k': &mut &i32 | ||
47 | [354; 366) 'mut_ref_to_x': &mut &i32 | ||