aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty
diff options
context:
space:
mode:
authorMarcus Klaas de Vries <[email protected]>2019-01-17 12:40:45 +0000
committerAleksey Kladov <[email protected]>2019-01-19 12:37:26 +0000
commit44e9a9605b2b3916669182ba091599d59653c497 (patch)
tree0bdeef63c2a1523ca69dda856226979f9a78f606 /crates/ra_hir/src/ty
parentd48d5b8b6ca59b462b3a84dad9868daff2eddb6d (diff)
Fixup annotated bindings
Diffstat (limited to 'crates/ra_hir/src/ty')
-rw-r--r--crates/ra_hir/src/ty/tests.rs6
-rw-r--r--crates/ra_hir/src/ty/tests/data/adt_pattern.txt6
-rw-r--r--crates/ra_hir/src/ty/tests/data/pattern.txt10
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]
362fn infer_simple_pattern() { 362fn infer_pattern() {
363 check_inference( 363 check_inference(
364 r#" 364 r#"
365fn test(x: &i32) { 365fn 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