aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/tests
diff options
context:
space:
mode:
authorFlorian Diebold <[email protected]>2020-03-06 14:26:49 +0000
committerFlorian Diebold <[email protected]>2020-03-06 14:43:14 +0000
commit073a1ef834be5e2e1ae6733c6c299d2ae68050d8 (patch)
tree516d9694de4f960d886c66b702014ec56bc2ebc2 /crates/ra_hir_ty/src/tests
parent1cc6879576b04850db3dd8aa1df0cf7c8f270503 (diff)
Support aliases and Self in struct literals
Fixes #3306.
Diffstat (limited to 'crates/ra_hir_ty/src/tests')
-rw-r--r--crates/ra_hir_ty/src/tests/simple.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/crates/ra_hir_ty/src/tests/simple.rs b/crates/ra_hir_ty/src/tests/simple.rs
index 3803f5938..c140bd513 100644
--- a/crates/ra_hir_ty/src/tests/simple.rs
+++ b/crates/ra_hir_ty/src/tests/simple.rs
@@ -51,6 +51,47 @@ fn test() {
51} 51}
52 52
53#[test] 53#[test]
54fn self_in_struct_lit() {
55 assert_snapshot!(infer(
56 r#"
57//- /main.rs
58struct S<T> { x: T }
59
60impl S<u32> {
61 fn foo() {
62 Self { x: 1 };
63 }
64}
65"#,
66 ), @r###"
67 [63; 93) '{ ... }': ()
68 [73; 86) 'Self { x: 1 }': S<u32>
69 [83; 84) '1': u32
70 "###);
71}
72
73#[test]
74fn type_alias_in_struct_lit() {
75 assert_snapshot!(infer(
76 r#"
77//- /main.rs
78struct S<T> { x: T }
79
80type SS = S<u32>;
81
82fn foo() {
83 SS { x: 1 };
84}
85
86"#,
87 ), @r###"
88 [64; 84) '{ ...1 }; }': ()
89 [70; 81) 'SS { x: 1 }': S<u32>
90 [78; 79) '1': u32
91 "###);
92}
93
94#[test]
54fn infer_ranges() { 95fn infer_ranges() {
55 let (db, pos) = TestDB::with_position( 96 let (db, pos) = TestDB::with_position(
56 r#" 97 r#"