Skip to content

Commit 09a1294

Browse files
authored
Merge pull request #86100 from DougGregor/aeic-now-export-docs
Note that @_alwaysEmitIntoClient was formalized as `@export(implementation)`
2 parents f1a7047 + 6a600de commit 09a1294

File tree

1 file changed

+1
-13
lines changed

1 file changed

+1
-13
lines changed

docs/ReferenceGuides/UnderscoredAttributes.md

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,7 @@ Forces conformances of the attributed protocol to always have their Type Metadat
2929

3030
## `@_alwaysEmitIntoClient`
3131

32-
Forces the body of a function to be emitted into client code.
33-
34-
Note that this is distinct from `@inline(__always)`; it doesn't force inlining
35-
at call-sites, it only means that the implementation is compiled into the
36-
module which uses the code.
37-
38-
This means that `@_alwaysEmitIntoClient` definitions are _not_ part of the
39-
defining module's ABI, so changing the implementation at a later stage
40-
does not break ABI.
41-
42-
Most notably, default argument expressions are implicitly
43-
`@_alwaysEmitIntoClient`, which means that adding a default argument to a
44-
function which did not have one previously does not break ABI.
32+
Forces the body of a function to be emitted into client code. This underscored attribute was formalized as `@export(implementation)` as part of [SE-0497](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0497-definition-visibility.md).
4533

4634
## `@_assemblyVision`
4735

0 commit comments

Comments
 (0)