The following code compiles and segfaults ``` struct thing { x: int; new () { self.x = 0; } fn foo(@self) -> int { self.x } } fn main() { let z = thing(); z.foo(); } ``` it should be rejected