This fixes the missing address space on this in the implicit move assignment operator.
The function called here is an abstraction around the lines that have been removed, and also sets the address space correctly.
This is copied from CopyConstructor, CopyAssignment and MoveConstructor, all of which use this new function, and now
MoveAssignment is has been aligned to use the same method.
I also added a new test file to check the output AST. If there's a better place for this test I will move it there.
Fixes: PR50259
Maybe rename this struct to avoid any potential confusion with the implicit keyword in the dumps above? Even something as simple as S should do I think.