[Refactoring] Add StructDeclaration::fit to reuse it in other places
Supplement fix for DIP29 feature: Do not emit CastExp for const and unique conversions.
fix fix Issue 12681 - Rewrite rule prevents unique detection

Do rewriting in glue-layer.
fix CTFE interpreter
Merge pull request #3522 from 9rnsr/fix12681

Issue 12681 - Rewrite rule prevents unique detection
Stop running semantic3 for unittests in non-root modules

This is important due to avoid out-of-memory error with `-unittest -inline`. Currently front-end inlining requires running semantic3 for all imported modules to analyze expanded function body code. By this change, we can remove the Phobos unittest analyzing cost in user application compilation.
fix Issue 10985 - Compiler doesn't attempt to inline non-templated functions from libraries (even having the full source)