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.