Skip to content

Commit 072aa0d

Browse files
committed
minor wording fixes
1 parent 850985b commit 072aa0d

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

_posts/2025-11-17-embedded-swift-improvements-coming-in-swift-6.3.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ These features and bug fixes are included in the upcoming [Swift 6.3](https://fo
1616

1717
### Printing floating point numbers
1818

19-
Previously, the `description` and `debugDescription` properties for floating-point types (`Float`, `Double`, etc.) were not available in the Embedded Swift standard library. With a new [all-Swift implementation](https://github.com/swiftlang/swift/pull/84826), you can use this with Embedded Swift.
19+
Previously, the `description` and `debugDescription` properties for floating-point types (`Float`, `Double`, etc.) were not available in the Embedded Swift standard library. With a new [all-Swift implementation](https://github.com/swiftlang/swift/pull/84826), you can now use these with Embedded Swift.
2020

2121
### Embedded restriction diagnostics
2222

@@ -134,7 +134,7 @@ The following example shows interpreting the address as the type `MyMessage`:
134134

135135
LLDB needs access to type layout information so it can display variables. Since Embedded Swift doesn't contain reflection metadata, the Swift compiler emits all the type layout information as DWARF debug info.
136136
There have been several improvements to the Swift compiler's debug info output, such as support for type declarations nested inside an extension.
137-
At the same time LLDB added support for nested generic type aliases in Embedded Swift.
137+
At the same time, LLDB added support for nested generic type aliases in Embedded Swift.
138138
These two improvements together make it possible to inspect many common standard library data types, such as `Dictionary` and `Array`, in Embedded Swift core dumps.
139139
Previously these data types were only accessible via the expression evaluator, which requires a live process.
140140

@@ -157,7 +157,7 @@ LLDB's support for producing backtraces after taking exceptions in armv7m has be
157157

158158
However this back trace would often be missing one or more frames before the start of the exception frame (`UsageFault_Handler` above).
159159

160-
Now, LLDB is able to walk back through exception frames into the standard program frames and produce a backtrace that contains the missing frame(s).
160+
Now, LLDB is able to walk back through exception frames into the standard program frames and produce a backtrace that contains the missing frames.
161161

162162
```swift
163163
(lldb) bt
@@ -197,7 +197,7 @@ The `@used` attribute lets the compiler know that the entity it’s attached to
197197

198198
### Progress on the Embedded Swift linkage model
199199

200-
Embedded Swift uses a different compilation model from regular Swift that delays code generation to later in the compilation process. This compilation model has not been fully defined and has various practical problems. One such issue involves duplicate symbols: if you have four Embedded Swift libraries whose dependencies formed a diamond, like this:
200+
Embedded Swift uses a different compilation model from regular Swift that delays code generation to later in the compilation process. This compilation model has not been fully defined and has various practical problems. One such issue involves duplicate symbols: if you have four Embedded Swift libraries whose dependencies form a diamond, like this:
201201

202202
```
203203
A
@@ -209,7 +209,7 @@ B C
209209

210210
Then symbols from `A` that are used in both `B` and `C` would cause duplicate definition errors when linking both into `D`. The Swift compiler now emits symbols from imported modules using weak definitions, so the linker can de-duplicate them. This eliminates the need for flags like `-mergeable-symbols` and `-emit-empty-object-file` that provided partial workarounds.
211211

212-
Another step along to path to formalizing the Embedded Swift linkage model is [SE-0497](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0497-definition-visibility.md), which defines a new `@export` attribute that controls how a function is visible to clients. The spelling `@export(implementation)` makes the implementation available for clients to emit, specialize, or inline, subsuming the longstanding but unofficial `@_alwaysEmitIntoClient` attribute. The spelling `@export(interface)` ensures that only the interface and *not* the definition of the function is made available to clients by emitting a callable symbol, allowing library developers to fully hide the implementation of a function even in Embedded Swift.
212+
Another step along the path to formalizing the Embedded Swift linkage model is [SE-0497](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0497-definition-visibility.md), which defines a new `@export` attribute that controls how a function is visible to clients. The spelling `@export(implementation)` makes the implementation available for clients to emit, specialize, or inline, subsuming the longstanding but unofficial `@_alwaysEmitIntoClient` attribute. The spelling `@export(interface)` ensures that only the interface and *not* the definition of the function is made available to clients by emitting a callable symbol, allowing library developers to fully hide the implementation of a function even in Embedded Swift.
213213

214214
## Try it out!
215215

0 commit comments

Comments
 (0)