fix Issue 8220 - invalid function call not detected during semantic analysis
fix Issue 8238 - templates can create ghost fields
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.
fix Issue 9231 - overriding inout funcion with attribute inference reports weird error
fix Issue 9232 - Parsing error on some templated methods calls
Fixes Issue 5450 - Don't generate default ctor if base class lacks default ctor.
fix Issue 3825 - AAs entries are default initialized before the new value is evaluated
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.
fix Issue 9155 - Ddoc: code section should strip leading spaces
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 9393 - Partial template specialization and template lambda does not work