fix Issue 12749 - Constructor-local function allows multiple mutation of immutable member
Improve diagnostic messages
Do implicit cast for ExpInitializers inside CTFE

Move the implicit cast inside CTFE, so that we're evaluating the
final value.
fix Issue 12138 - Label statement creates an unexpected scope block
require opEquals for AA keys

- Check that the compiler can generate a runtime function to test AA keys for equality.

- This is necessary to switch the druntime implementation from opCmp to opEquals.
fix Issue 11672 - default initialization of static array of structs with a single value fails
fix Issue 5810 - Struct postincrement generates 'no effect' error if used on struct member
Merge pull request #3605 from 9rnsr/fix5810

Issue 5810 - Struct postincrement generates 'no effect' error if used on struct member
Merge pull request #3604 from 9rnsr/fix11672

Issue 11672 - default initialization of static array of structs with a single value fails
Merge pull request #3602 from donc/ctfe_implicit_convert

Do implicit cast for ExpInitializers inside CTFE
Merge pull request #3603 from 9rnsr/fix12138

Issue 12138 - Label statement creates an unexpected scope block
Fix Issue 12824 - REG(2.066) ICE(statement.c) Segfault with label and static if
Merge pull request #3607 from yebblies/issue12824

Issue 12824 - REG(2.066) ICE(statement.c) Segfault with label and static if
Merge pull request #3599 from MartinNowak/opEqualsForAA

require opEquals for AA keys
Merge pull request #3555 from 9rnsr/fix12749

Issue 12749 - Constructor-local function allows multiple mutation of immutable member