[Refactoring] for getFunctionAttributes
Fix warning in mtype.c
Replace 'unsigned' to 'unsighed char'
Merge pull request #3534 from 9rnsr/refactor_traits

Fix warning and small refactoring for __traits(getFunctionAttributes)
[style] detab runnable/template4.d
fix Issue 12725 - IFTI should consider instantiated types with dependent template parameters
more selective editorconfig

- only apply config to C and D source files
fix Issue 7469 - template mangling depends on instantiation order
Merge pull request #3536 from 9rnsr/fix7469

Issue 7469 - template mangling depends on instantiation order
fix Issue 12719 - struct.c:705: virtual void StructDeclaration::semantic(Scope*): Assertion `parent && parent == sc->parent' failed.

Set `semanticRun` to `PASSsemanticdone;` immediately after the struct size determined.
fix Issue 10326 - Disallow 'invariant' for immutable, allow class/struct invariants without (), and later disallow usage of ()
Replace 'invariant' to 'immutable' in comments
Merge pull request #3538 from MartinNowak/editorconfig

more selective editorconfig
Add TemplateParameter::hasDefaultArg
fix Issue 12728 - IFTI should consider instantiated types that has template parameters with default args
Merge pull request #3537 from 9rnsr/fix12719

[REG2.066a] Issue 12719 - struct.c:705: virtual void StructDeclaration::semantic(Scope*): Assertion `parent && parent == sc->parent' failed.
Merge pull request #3539 from 9rnsr/fix12728

[REG2.066a] Issue 12728 - IFTI should consider instantiated types that has template parameters with default args
Merge pull request #3540 from 9rnsr/fix10326

Issue 10326 - Disallow 'invariant' for immutable, allow class/struct invariants without (), and later disallow usage of ()
fix Issue 12727 - DMD hangs up on recursive alias declaration

By the commit fd1762c33ac034ad3112e69f21421b5c75b3cc6c, now static-if declaration does nothing in `addMembers` phase, and conditional eponymous template instance cannot raise "recursive alias declaration" error in `TemplateInstance::semantic`, because `TemplateInstance::aliasdecl` is not set until the end of it.

By looking for circular aliasing not only in `AliasDeclaration::semantic` but also in `AliasDeclaration::toAlias`, we can defer the detection until appropriate timing.
[Refactoring] Remove implicitly generated AliasDeclaration in TemplateInstance