1 #![allow(unused_variables)]
2 #![allow(unused_assignments)]
3 #![allow(dead_code)]
4 #![deny(unreachable_code)]
5 #![feature(type_ascription)]
6 
7 struct Foo {
8     a: usize,
9     b: usize,
10 }
11 
a()12 fn a() {
13     // struct expr is unreachable:
14     let x = Foo { a: 22, b: 33, ..return }; //~ ERROR unreachable
15 }
16 
b()17 fn b() {
18     // the `33` is unreachable:
19     let x = Foo { a: return, b: 33, ..return }; //~ ERROR unreachable
20 }
21 
c()22 fn c() {
23     // the `..return` is unreachable:
24     let x = Foo { a: 22, b: return, ..return }; //~ ERROR unreachable
25 }
26 
d()27 fn d() {
28     // the struct expr is unreachable:
29     let x = Foo { a: 22, b: return }; //~ ERROR unreachable
30 }
31 
main()32 fn main() { }
33