Commits

Jordan Rose committed b39cebd6fce
[docs] LibraryEvolution: @always_emit_into_client Describe a new attribute, @always_emit_into_client, which covers the behavior of helpers for inlineable functions: any client that makes use of the body of an inlineable function should use that implementation, including any helper functions, local functions, or closures referenced therein. This is also a tool a library developer can use. This is a nice change because it formalizes several things that were previously special-cased; however, there are still some open questions. It's not totally clear whether we want separate @inlineable and @always_emit_into_client annotations; we could attempt to get away with just the latter. However, as noted in the diff, there are some entities that can't really be completely eliminated from the ABI, so marking them @always_emit_into_client would be disingenuous.