Skip to content

Commit a39d503

Browse files
committed
Add additional checks for union inference tests
1 parent a653290 commit a39d503

File tree

1 file changed

+33
-5
lines changed

1 file changed

+33
-5
lines changed

crates/ra_hir_ty/src/tests/simple.rs

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -334,16 +334,44 @@ fn infer_union() {
334334
bar: f32,
335335
}
336336
337+
fn test() {
338+
let u = MyUnion { foo: 0 };
339+
unsafe { baz(u); }
340+
let u = MyUnion { bar: 0.0 };
341+
unsafe { baz(u); }
342+
}
343+
337344
unsafe fn baz(u: MyUnion) {
338345
let inner = u.foo;
346+
let inner = u.bar;
339347
}
340348
"#,
341349
expect![[r#"
342-
61..62 'u': MyUnion
343-
73..99 '{ ...foo; }': ()
344-
83..88 'inner': u32
345-
91..92 'u': MyUnion
346-
91..96 'u.foo': u32
350+
57..172 '{ ...); } }': ()
351+
67..68 'u': MyUnion
352+
71..89 'MyUnio...o: 0 }': MyUnion
353+
86..87 '0': i32
354+
95..113 'unsafe...(u); }': ()
355+
102..113 '{ baz(u); }': ()
356+
104..107 'baz': fn baz(MyUnion)
357+
104..110 'baz(u)': ()
358+
108..109 'u': MyUnion
359+
122..123 'u': MyUnion
360+
126..146 'MyUnio... 0.0 }': MyUnion
361+
141..144 '0.0': f64
362+
152..170 'unsafe...(u); }': ()
363+
159..170 '{ baz(u); }': ()
364+
161..164 'baz': fn baz(MyUnion)
365+
161..167 'baz(u)': ()
366+
165..166 'u': MyUnion
367+
188..189 'u': MyUnion
368+
200..249 '{ ...bar; }': ()
369+
210..215 'inner': u32
370+
218..219 'u': MyUnion
371+
218..223 'u.foo': u32
372+
233..238 'inner': f32
373+
241..242 'u': MyUnion
374+
241..246 'u.bar': f32
347375
"#]],
348376
);
349377
}

0 commit comments

Comments
 (0)