[region-isolation] Add parsing/serialization/type system support for a transferring OwnershipSpecifier.

This commit is contained in:
Michael Gottesman
2023-12-24 03:37:25 -08:00
parent 728d6809e9
commit 9513d298ec
21 changed files with 163 additions and 48 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 = 837; // @preconcurrency conformances
const uint16_t SWIFTMODULE_VERSION_MINOR = 838; // transferring param
/// A standard hash seed used for all string hashes in a serialized module.
///
@@ -359,6 +359,7 @@ enum class ParamDeclSpecifier : uint8_t {
Consuming = 3,
LegacyShared = 4,
LegacyOwned = 5,
Transferring = 6,
};
using ParamDeclSpecifierField = BCFixed<3>;
@@ -1227,7 +1228,8 @@ namespace decls_block {
BCFixed<1>, // isolated
BCFixed<1>, // noDerivative?
BCFixed<1>, // compileTimeConst
BCFixed<1> // _resultDependsOn
BCFixed<1>, // _resultDependsOn
BCFixed<1> // transferring
>;
TYPE_LAYOUT(MetatypeTypeLayout,