1. It's currently not possible to overload opAssign for structs with a template because opAssign(T)(T rh) if(is(T == typeof(this)))

is not allowed (stated in the documentation). And templates can not overload non template functions (already a known bug).

2. It's not possible to use auto ref with opAssign because opAssign(T)(auto ref T rh) if(is(T == typeof(this))) is not allowed (partly the same issue as 1).

Why is this not allowed? (The documentation does not state any reason)

3. Calling a method that is overloaded with shared / const / immutable from within a function has to be done with this.method() otherwise the compiler complains about ambugiosity. Is method() not the same as this.method() ??

--
Kind Regards
Benjamin Thaut

Reply via email to