Use an intermediate representation to reinterpret the value in Target::paintAsType
Fix Issue 3918 - Parameter use before its use in an AndAnd expression with reals treats NaN as false
Fix  Issue 12827 - [ICE] Segfault on immutable field self-initialization
Fix test output message
Fix test output message #2
fix Issue 12531 - forward reference with nested struct
fix Issue 13403 - [ICE][2.067Alpha] Internal error: backend\type.c 332 with new package protection extension.
Merge pull request #3899 from 9rnsr/fix12531

Issue 12531 - forward reference with nested struct
Merge pull request #3871 from maxfom/fix12827

Fix  Issue 12827 - [ICE] Segfault on immutable field self-initialization
Merge pull request #3726 from ibuclaw/paintnounion

Use an intermediate representation to reinterpret the value in Target::paintAsType
[Refactoring] Reduce uninitialize local variables
[Refactoring] Reduce indent level in loops
[Refactoring] Remove unnecessary SCOPEfree flag handling

It's properly handled in `Scope::alloc`.
Merge pull request #3944 from 9rnsr/refactor_scope

[Refactoring] scope.c
[Refactoring] fix indent in IsExp::semantic()
fix Issue 13350 - is(typeof(fun)) causes link error when template fun calls undefined reference

Evaluate the type in IsExp, then unspeculative declared symbols.
Merge pull request #3894 from 9rnsr/fix13350

Issue 13350 - is(typeof(fun)) causes link error when template fun calls undefined reference
Merge pull request #3812 from yebblies/issue3918

Issue 3918 - Parameter use before its use in an AndAnd expression with reals treats NaN as false
[Refactoring] TemplateInstance::semantic()

- Remove a goto jump
- Reduce code indent level
- Use ModToStc in TemplateThisParameter resolution
[Refactoring] Add Module::rootImports() and use it in TemplateInstance::needsCodegen()

it would make compilation a little faster so `rootImports` cache the result.