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
This coding style is enforced by the ABI checker -- it will complain if an extension member declaration that needs an availability doesn't have it directly attached.
318
318
319
-
Features under development that haven't been released yet must be marked with the placeholder version number `9999`. This special version is always considered available in custom builds of the Swift toolchain (including development snapshots), but not in any ABI-stable production release.
319
+
This repository defines a set of availability macros (of the form `SwiftStdlib x.y`) that map Swift Stdlib releases to the OS versions that shipped them, for all ABI stable platforms. The following two definitions are equivalent, but the second one is less error-prone, so we prefer that:
(Mistakes in the OS version number list are very easy to miss during review, but can have major ABI consequences.)
334
+
335
+
This is especially important for newly introduced APIs, where the corresponding OS releases may not even be known yet.
336
+
337
+
Features under development that haven't shipped yet must be marked as available in the placeholder OS version `9999`. This special version is always considered available in custom builds of the Swift toolchain (including development snapshots), but not in any ABI-stable production release.
338
+
339
+
Never explicitly spell out such placeholder availability -- instead, use the `SwiftStdlib` macro corresponding to the Swift version we're currently working on:
On these platforms, the Swift Standard Library ships as an integrated part of the operating system; as such, it is the platform owners' responsibility to update these placeholder version numbers to actual versions as part of their release process.
355
+
This way, platform owners can easily update declarations to the correct set of version numbers by simply changing the definition of the macro, rather than having to update each individual declaration.
356
+
357
+
If we haven't defined a version number for the "next" Swift release yet, please use the special placeholder version `SwiftStdlib 9999`, which always expands to 9999 versions. Declarations that use this version will need to be manually updated once we decide on the corresponding Swift version number.
"calls to %0 %1 from outside of its actor context are "
4485
4489
"implicitly asynchronous",
4486
4490
(DescriptiveDeclKind, DeclName))
4487
-
NOTE(distributed_actor_isolated_method_note,none,
4488
-
"only 'distributed' functions can be called from outside the distributed actor", // TODO(distributed): improve error message
4489
-
())
4491
+
NOTE(note_distributed_actor_isolated_method,none,
4492
+
"distributed actor-isolated %0 %1 declared here",
4493
+
(DescriptiveDeclKind, DeclName))
4490
4494
ERROR(distributed_actor_isolated_method,none,
4491
-
"only 'distributed' functions can be called from outside the distributed actor",// TODO(distributed): improve error message to be more like 'non-distributed' ... defined here
4495
+
"only 'distributed' functions can be called on a potentially remote distributed actor",
0 commit comments