fix Issue 8220 - invalid function call not detected during semantic analysis
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.
Fixes Issue 8041 - __gshared without initializer fails compilation.
Fixes Issue 4479 - Better error message when a module with a name different from its file name is imported via its file name.
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.
Fixes Issue 4528 - Better diagnostic on non-virtual abstract method.
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
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.
Fixes Issue 9574 - Better diagnostic on old 'alias this = that' syntax.
Fixes Issue 9475 - Preserve code layout in unittest body when emitting ddoc.
Fixes Issue 9451 - Better diagnostic on unimplemented abstract methods.