Allow extern(C++) classes
Do not emit classinfo pointer as first entry of vtbl for C++ or COM classes
Do a reinterpret cast for any cast to or from a C++ class or interface
Do not compare C++ classes with .object.opEquals
Disable invariant calls for C++ classes
Fix issue 10236 Ddoc: Warning on wrong parameter names/count
Fixed indentation (removed tabs)
Fix issue 10236 test case
Fix Issue 10897 - btc, btr and bts shouldn't be safe
Fix issue 10236: allow template parameters in Params section + test
Better error message for currently unsupported issue 8318
fix Issue 10007 - function overrides but is not covariant
fix Issue 10573 - Weird linking problem with associative array cast

CastExp would call `TypeAArray::getImpl()` in glue layer.

However if the AA type is just only used in the cast expression, the timing is too late to invoke `getImpl`, because the AA type instantiation may need more semantic analysis like deferred semantic3.

For the correct instantiation of the `AssociativeArray!(K, V)` type, `getImpl` should be invoked in front-end layer beforehand.
[Refactoring] Type::baseElemOf()
detab test/runnable/eh.d
fix Issue 10964 - Static array assign/blit exception slips through catch block.
Issue 10968 - array element copy (1-N and N-N) ignores postblit attributes
Fix Issue 10682 - [ICE](cgcod.c line 1561) with ^^ operator

The backend can't handle a shift expression with a ulong rhs, so simulate the cast that is usually added by semantic.
Merge pull request #2524 from 9rnsr/fix10573

[REG2.063] Issue 10573 - Weird linking problem with associative array cast
Merge pull request #2525 from 9rnsr/fix10964

[REG2.063] Issue 10964 - Static array assign/blit exception slips through catch block