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`.
Merge pull request #3552 from 9rnsr/fix846

Issue 846 - Error 42: Symbol Undefined "<mangle_of_class_template>__arrayZ"
fix Issue 8738 - Struct literal breaks assigment ordering
Merge pull request #2561 from 9rnsr/fix10985

Issue 10985 - Compiler doesn't attempt to inline non-templated functions from libraries (even having the full source)
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