fix issue 6677 - static this attributes position
Fix Issue 3672 - Read-modify-write operations should not be allowed for shared variables.
Fixes Issue 1673 - Implement the isTemplate trait.
DIP69: C++ namespaces
Separate class hierarchy calculation from class member semantics
fix Issue 12078 - forward reference issue with is() and curiously recurring template pattern
fix Issue 12143 - Base class is forward referenced
fix Issue 11622 - Assertion failure in totym(), glue.c, line 1288
Merge pull request #3384 from 9rnsr/refactor_aggregate

Issue 12078 & 12143 & 12555 & 11622 - Separate class hierarchy calculation from class member semantics
fix fix Issue 12681 - Rewrite rule prevents unique detection

Do rewriting in glue-layer.
Fix: Issue 10520 - [profile+nothrow] Building with profiler results in "is not nothrow" error on some contracts

When Statement#blockExit() checks if the statements may throw or not, it
can also emit compile error.
We turn the second argument of it, mustNotThrow, to false
so that the error is suppressed.
fix Issue 846 - Error 42: Symbol Undefined "<mangle_of_class_template>__arrayZ"

Stop using ModuleInfo for assertion and array bounds check.
Instead pass filename to `_d_assert`, `_d_unittest`, and `_d_arraybounds`.
fix Issue 8738 - Struct literal breaks assigment ordering
Merge pull request #3517 from WalterBright/DIP69

DIP61: C++ namespaces
fix Issue 12769 - ICE returning array
fix Issue 12749 - Constructor-local function allows multiple mutation of immutable member
Improve diagnostic messages
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