fix Issue 8220 - invalid function call not detected during semantic analysis
fix Issue 8945 - Can't call static struct initializer or constructor without qualifier for templated inner struct
Issue 7444 - Require [] for array copies too
Change deprecation error to warning.
Fixes Issue 5450 - Don't generate default ctor if base class lacks default ctor.
fix Issue 8366 - Overriding const member function in conjunction with mutable overload causes a strange error

We MUST kill attribute inference with const. To implement it correctly without breaking overriding and overloading features, re-scanning and arrangement of vtbl entries is needed in the end of Classdeclaration::semantic, it will decrease compile speed.
I think that is a big drawbacks than the benefit.
Add check for circular "alias this" type dependency.
Add check recursion in typeMerge
Fix SliceExp::semantic, and (Una|Array|Bin|BinAssign)Exp::op_overload
Fix CallExp and AssignExp
Fix inferAggregate
Fix checkToBoolean
Add comment
Reduce and pack in TypeStruct/TypeClass field, and use enum for readability.
fix Issue 8589 - Incorrect conversion of function returning `typeof(null)` to function returning an array
fix Issue 6652 - 3. Change modifying non ref variable allowed and not affect to loop
Fixes Issue 5140 - Implement __FUNCTION__, __PRETTY_FUNCTION__, and
__MODULE__ feature.
fix Issue 8959 - IsExpression should support syntax which has no Identifier in all cases
Apply code simplification that is pointed out by Andrej Mitrovic
Fixes Issue 9574 - Better diagnostic on old 'alias this = that' syntax.