My information might be out-of-date. It was definitely once the case that initialization expressions were emitted as non-inlineable functions, and the consequences of are most apparent when switching between implicitly-initialized Foo? and explicitly-initialized Optional<Foo>. That might have changed with SR-11768, but my reading of the discussion is that it only changed for @frozen types.
2 Likes