#![allow(incomplete_features)] #![feature(unnamed_fields)] fn f() -> struct { field: u8 } {} //~ ERROR anonymous structs are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous structs are unimplemented fn f2(a: struct { field: u8 } ) {} //~ ERROR anonymous structs are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous structs are unimplemented union G { field: struct { field: u8 } //~ ERROR anonymous structs are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous structs are unimplemented } //~| ERROR unions may not contain fields that need dropping [E0740] struct H { _: u8 } // Should error after hir checks struct I(struct { field: u8 }, u8); //~ ERROR anonymous structs are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous structs are unimplemented enum J { K(struct { field: u8 }), //~ ERROR anonymous structs are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous structs are unimplemented L { _ : struct { field: u8 } //~ ERROR anonymous structs are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous fields are not allowed outside of structs or unions //~| ERROR anonymous structs are unimplemented }, M { _ : u8 //~ ERROR anonymous fields are not allowed outside of structs or unions } } static M: union { field: u8 } = 0; //~ ERROR anonymous unions are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous unions are unimplemented type N = union { field: u8 }; //~ ERROR anonymous unions are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous unions are unimplemented fn main() { const O: struct { field: u8 } = 0; //~ ERROR anonymous structs are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous structs are unimplemented let p: [struct { field: u8 }; 1]; //~ ERROR anonymous structs are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous structs are unimplemented let q: (struct { field: u8 }, u8); //~ ERROR anonymous structs are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous structs are unimplemented let cl = || -> struct { field: u8 } {}; //~ ERROR anonymous structs are not allowed outside of unnamed struct or union fields //~^ ERROR anonymous structs are unimplemented }