[AST] Declare NonIsolatedCaller as kind of FunctionTypeIsolation

This would make sure that async function types marked as `@execution(caller)`
have correct isolation.

Also defines all of the possible conversions to and from `caller`
isolated function types.
This commit is contained in:
Pavel Yaskevich
2025-02-12 17:10:24 -08:00
parent 8c8d5733b7
commit cdb5396c00
10 changed files with 92 additions and 4 deletions

View File

@@ -58,7 +58,7 @@ const uint16_t SWIFTMODULE_VERSION_MAJOR = 0;
/// describe what change you made. The content of this comment isn't important;
/// it just ensures a conflict if two people change the module format.
/// Don't worry about adhering to the 80-column limit for this line.
const uint16_t SWIFTMODULE_VERSION_MINOR = 921; // remove alloc_vector
const uint16_t SWIFTMODULE_VERSION_MINOR = 922; // function type isolation - caller
/// A standard hash seed used for all string hashes in a serialized module.
///
@@ -707,6 +707,7 @@ enum class FunctionTypeIsolation : uint8_t {
Parameter,
Erased,
GlobalActorOffset, // Add this to the global actor type ID
NonIsolatedCaller,
};
using FunctionTypeIsolationField = TypeIDField;