Testcase: ``` rust struct S(String); impl S { fn f(self: *mut S) -> String { self.0 } } fn main() { S("".to_owned()).f(); } ``` This somehow compiles and runs without any errors. I'm not sure how exactly this is getting interpreted by the compiler, but it seems dubious at best.