@@ -84,6 +84,21 @@ Swift 5.5
8484
8585### 2021-09-20 (Xcode 13.0)
8686
87+ * [ SE-0323] [ ] :
88+
89+ The main function is executed with ` MainActor ` isolation applied, so functions
90+ and variables with ` MainActor ` isolation may be called and modified
91+ synchronously from the main function. If the main function is annotated with a
92+ global actor explicitly, it must be the main actor or an error is emitted. If
93+ no global actor annotation is present, the main function is implicitly run on
94+ the main actor.
95+
96+ The main function is executed synchronously up to the first suspension point.
97+ Any tasks enqueued by initializers in Objective-C or C++ will run after the
98+ main function runs to the first suspension point. At the suspension point, the
99+ main function suspends and the tasks are executed according to the Swift
100+ concurrency mechanisms.
101+
87102* [ SE-0313] [ ] :
88103
89104 Parameters of actor type can be declared as ` isolated ` , which means that they
@@ -8745,6 +8760,7 @@ Swift 1.0
87458760[SE- 0315 ]: < https: // github.com/apple/swift-evolution/blob/main/proposals/0315-placeholder-types.md>
87468761[SE- 0316 ]: < https: // github.com/apple/swift-evolution/blob/main/proposals/0316-global-actors.md>
87478762[SE- 0324 ]: < https: // github.com/apple/swift-evolution/blob/main/proposals/0324-c-lang-pointer-arg-conversion.md>
8763+ [SE- 0323 ]: < https: // github.com/apple/swift-evolution/blob/main/proposals/0323-async-main-semantics.md>
87488764
87498765[SR- 75 ]: < https: // bugs.swift.org/browse/SR-75>
87508766[SR- 106 ]: < https: // bugs.swift.org/browse/SR-106>
0 commit comments