fix Issue 12606 - Mismatch of known array length during dynamic => static array assignment should emit better diagnostics

Recognize slice expression on initializer and rhs of assignment
More compile-time length check on element-wise assignment
Merge pull request #3485 from 9rnsr/fix12606

Issue 12606 - Mismatch of known array length during dynamic => static array assignment should emit better diagnostics
Fix Issue 12640 - Avoid fallthrough diagnostics when the last case/default statement in a switch failed semantic analysis.
Merge pull request #3496 from AndrejMitrovic/Fix12640

Issue 12640 - Avoid fallthrough diagnostics when the last case/default statement failed.
fix Issue 12622 - Purity, @safe not checked for pointers to functions
Add note about the conflict between better diagnostics and internal error propagation design