| #![allow(unused_variables)] | |
| #![allow(unused_assignments)] | |
| #![allow(dead_code)] | |
| #![deny(unreachable_code)] | |
| #![feature(type_ascription)] | |
| struct Foo { | |
| a: usize, | |
| b: usize, | |
| } | |
| fn a() { | |
| // struct expr is unreachable: | |
| let x = Foo { a: 22, b: 33, ..return }; //~ ERROR unreachable | |
| } | |
| fn b() { | |
| // the `33` is unreachable: | |
| let x = Foo { a: return, b: 33, ..return }; //~ ERROR unreachable | |
| } | |
| fn c() { | |
| // the `..return` is unreachable: | |
| let x = Foo { a: 22, b: return, ..return }; //~ ERROR unreachable | |
| } | |
| fn d() { | |
| // the struct expr is unreachable: | |
| let x = Foo { a: 22, b: return }; //~ ERROR unreachable | |
| } | |
| fn main() { } |