Merge pull request #3517 from WalterBright/DIP69

DIP61: C++ namespaces
fix Issue 12769 - ICE returning array
Merge pull request #3559 from 9rnsr/fix12769

[REG2.065] Issue 12769 - ICE returning array
fix Issue 12749 - Constructor-local function allows multiple mutation of immutable member
Improve diagnostic messages
Fix variable shadowing
Explicitly cast array bounds to size_t
Fix implicit conversion to bool
Remove unused and shadowing variable
Merge pull request #3563 from yebblies/boolconvx

[DDMD] Fix implicit conversion to bool
Merge pull request #3560 from yebblies/shadowidents

[DDMD] Remove unused and shadowing variable
Merge pull request #3561 from yebblies/sc2shadow

[DDMD] Fix variable shadowing
Merge pull request #3562 from yebblies/sizetcast

[DDMD] Explicitly cast array bounds to size_t
Merge pull request #3557 from 9rnsr/fix8738

Issue 8738 - Struct literal breaks assigment ordering
fix Issue 12739 - Foreach delegate to opApply does not have infered nothrow
fix Issue 12774 - ICE(optimize.c) Newing struct containing union causes segfault
Merge pull request #3566 from 9rnsr/fix12774

[REG2.066a] Issue 12774 - ICE(optimize.c) Newing struct containing union causes segfault
Implement delegate.ptr and delegate.funcptr as new ast classes instead of using casting and pointer arithmetic
Remove unused #define
Delete the ancient posix support in canonicalName