Merge pull request #2663 from 9rnsr/fix11242

[REG2.064a] Issue 11242 - Fails to infer template argument with inout
Merge pull request #2664 from 9rnsr/fix11228

[REG2.063] Issue 11228 - alias this confuses static array copy
Merge pull request #2666 from 9rnsr/fix11256

[REG2.063] Issue 11256 - Error mixing struct with disabled default construction and templated with lambda struct
Remove meaningless assert on debug build

Additional fix for issue 11233
fix Issue 11257 - Allow whole implicit conversion if one or more overlapped field could.
fix Issue 9665 - Structure constant members can not be initialized if have opAssign

- Change the first field assignment inside constructor to true initialization.
- Disable multiple initialization of non-mutable field, if it is once initialized.
fix Issue 11246 - [REG 2.063] Struct initialized in constructor is destroyed first