From 44e9a9605b2b3916669182ba091599d59653c497 Mon Sep 17 00:00:00 2001 From: Marcus Klaas de Vries Date: Thu, 17 Jan 2019 13:40:45 +0100 Subject: Fixup annotated bindings --- crates/ra_hir/src/ty/tests.rs | 6 +++++- crates/ra_hir/src/ty/tests/data/adt_pattern.txt | 6 +++++- crates/ra_hir/src/ty/tests/data/pattern.txt | 10 +++++++++- 3 files changed, 19 insertions(+), 3 deletions(-) (limited to 'crates/ra_hir/src/ty') 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) { } #[test] -fn infer_simple_pattern() { +fn infer_pattern() { check_inference( r#" fn test(x: &i32) { @@ -381,6 +381,7 @@ fn test(x: &i32) { let ref ref_to_x = x; let mut mut_x = x; let ref mut mut_ref_to_x = x; + let k = mut_ref_to_x; } "#, "pattern.txt", @@ -408,6 +409,9 @@ fn test() { E::A { x } => x, E::B => 1, }; + + let ref d @ E::A { .. } = e; + d; } "#, "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 @@ -[68; 221) '{ ... }; }': () +[68; 262) '{ ... d; }': () [78; 79) 'e': E [82; 95) 'E::A { x: 3 }': E [92; 93) '3': usize @@ -16,3 +16,7 @@ [191; 192) 'x': usize [202; 206) 'E::B': E [210; 211) '1': usize +[229; 248) 'ref d ...{ .. }': &E +[237; 248) 'E::A { .. }': E +[251; 252) 'e': E +[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 @@ [9; 10) 'x': &i32 -[18; 259) '{ ...c }; }': () +[18; 369) '{ ...o_x; }': () [28; 29) 'y': &i32 [32; 33) 'x': &i32 [43; 45) '&z': &i32 @@ -37,3 +37,11 @@ [246; 251) 'a + b': u64 [250; 251) 'b': u64 [253; 254) 'c': i32 +[267; 279) 'ref ref_to_x': &&i32 +[282; 283) 'x': &i32 +[293; 302) 'mut mut_x': &i32 +[305; 306) 'x': &i32 +[316; 336) 'ref mu...f_to_x': &mut &i32 +[339; 340) 'x': &i32 +[350; 351) 'k': &mut &i32 +[354; 366) 'mut_ref_to_x': &mut &i32 -- cgit v1.2.3