Looking at the Kindle spec there appears to be an error in the section for structs called Assignment Overload. S* opAssign (ref const S s) { a = s.a; } gives an error: Error: cannot implicitly convert expression (this) of type S to S* S opAssign (ref const S s) { does compile.