nothrow to prevent
opPostMove from being defined without nothrow, which would allow for possibly confusing changes in program flow.
void __move_post_blt(S)(ref S newLocation, ref S oldLocation) if (is(S == struct)) nothrowRecursively calls the opPostMove callbacks of a struct and its members if they're defined.
When moving a struct instance, the compiler emits a call to this function after blitting the instance and before releasing the original instance's memory.
newLocation | reference to struct instance being moved into |
oldLocation | reference to the original instance |
nothrow to prevent
opPostMove from being defined without nothrow, which would allow for possibly confusing changes in program flow.
void __move_post_blt(S)(ref S newLocation, ref S oldLocation) if (__traits(isStaticArray, S)) nothrow