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.
preserve path to object file in COFF library to avoid ambiguities
fix Issue 8913 - Wrong code in IfStatement condition Expression

Type cast from `e : T[n]` to `T*` should generate `&e[0]`, not `&e`.
Kill the syntax `alias this = sym;`
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.
Fixes Issue 7408 - __traits(compiles) should work on builtin template instance properties.
Fixes Issue 8922 - __traits(parent) should fail on top package import
fix Issue 9259 - Passing an array of pointers to a typesafe vararg is broken
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 3825 - AAs entries are default initialized before the new value is evaluated
Fixes Issue 6743 - Print error if -run is followed by a path with an
extension not matching a source file extension.
fix Issue 8631 - illegal overrides accepted
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.