You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/ReferenceGuides/UnderscoredAttributes.md
+1-13Lines changed: 1 addition & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,19 +29,7 @@ Forces conformances of the attributed protocol to always have their Type Metadat
29
29
30
30
## `@_alwaysEmitIntoClient`
31
31
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).
0 commit comments