I agree with this. In the discussion of an embedded Swift linkage model, we also discussed needing the opposite of @_alwaysEmitIntoClient
, which I'm calling @_neverEmitIntoClient
: it means that a symbol will always be generated for the entity and its body will never be available for inlining, even when the compilation mode defaults to it (e.g., due to cross-module optimization or embedded Swift, for example).
[Edit: I've started a separate thread on formalizing @_alwaysEmitIntoClient
independently of the @always(inline)
proposal.]
Doug