Skip to content

Commit 64fc43e

Browse files
committed
Merge tag 'swift-DEVELOPMENT-SNAPSHOT-2025-02-06-a' of github.com:swiftlang/swift into cal--fix-nested-weak-self-issue
Tag build swift-DEVELOPMENT-SNAPSHOT-2025-02-06-a
2 parents 31528da + 57234f8 commit 64fc43e

File tree

317 files changed

+8701
-2572
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

317 files changed

+8701
-2572
lines changed

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ root = true
55
[*]
66
indent_style = space
77
indent_size = 2
8-
trim_trailing_whitespace = true
8+
trim_trailing_whitespace = false
99
insert_final_newline = true

SwiftCompilerSources/Sources/Basic/Utils.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ extension Optional where Wrapped == UnsafeMutablePointer<BridgedSwiftObject> {
173173

174174
extension BridgedArrayRef {
175175
public func withElements<T, R>(ofType ty: T.Type, _ c: (UnsafeBufferPointer<T>) -> R) -> R {
176-
let start = data?.bindMemory(to: ty, capacity: count)
176+
let start = data?.assumingMemoryBound(to: ty)
177177
let buffer = UnsafeBufferPointer(start: start, count: count)
178178
return c(buffer)
179179
}

SwiftCompilerSources/Sources/Optimizer/FunctionPasses/DestroyHoisting.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,15 @@ private extension InstructionRange {
188188
}
189189
defer { visitor.deinitialize() }
190190

191+
// This is important to visit begin_borrows which don't have an end_borrow in dead-end blocks.
192+
// TODO: we can remove this once we have complete lifetimes.
193+
visitor.innerScopeHandler = {
194+
if let inst = $0.definingInstruction {
195+
liverange.insert(inst)
196+
}
197+
return .continueWalk
198+
}
199+
191200
_ = visitor.visitUses()
192201
self = liverange
193202
}

SwiftCompilerSources/Sources/Optimizer/InstructionSimplification/SimplifyRefCasts.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,13 @@ private extension UnaryInstruction {
8686
operand.set(to: replacement, context)
8787
}
8888

89+
if let ccb = self as? CheckedCastBranchInst {
90+
// Make sure that updating the formal type with the operand type is
91+
// legal.
92+
if operand.value.type.isLegalFormalType {
93+
ccb.updateSourceFormalTypeFromOperandLoweredType()
94+
}
95+
}
8996
if canEraseInst {
9097
context.erase(instructionIncludingDebugUses: inst)
9198
}

SwiftCompilerSources/Sources/SIL/Instruction.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1696,6 +1696,10 @@ final public class CheckedCastBranchInst : TermInst, UnaryInstruction {
16961696
public var source: Value { operand.value }
16971697
public var successBlock: BasicBlock { bridged.CheckedCastBranch_getSuccessBlock().block }
16981698
public var failureBlock: BasicBlock { bridged.CheckedCastBranch_getFailureBlock().block }
1699+
1700+
public func updateSourceFormalTypeFromOperandLoweredType() {
1701+
bridged.CheckedCastBranch_updateSourceFormalTypeFromOperandLoweredType()
1702+
}
16991703
}
17001704

17011705
final public class CheckedCastAddrBranchInst : TermInst {

SwiftCompilerSources/Sources/SIL/Type.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ public struct Type : CustomStringConvertible, NoReflectionChildren {
104104
public var isBuiltinVector: Bool { bridged.isBuiltinVector() }
105105
public var builtinVectorElementType: Type { bridged.getBuiltinVectorElementType().type }
106106

107+
public var isLegalFormalType: Bool { bridged.isLegalFormalType() }
108+
107109
public func isBuiltinInteger(withFixedWidth width: Int) -> Bool {
108110
bridged.isBuiltinFixedWidthInteger(width)
109111
}

cmake/modules/DarwinSDKs.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set(SUPPORTED_IOS_SIMULATOR_ARCHS "x86_64;arm64")
33
set(SUPPORTED_TVOS_ARCHS "arm64")
44
set(SUPPORTED_TVOS_SIMULATOR_ARCHS "x86_64;arm64")
55
set(SUPPORTED_WATCHOS_ARCHS "armv7k;arm64_32")
6-
set(SUPPORTED_WATCHOS_SIMULATOR_ARCHS "i386;x86_64;arm64")
6+
set(SUPPORTED_WATCHOS_SIMULATOR_ARCHS "x86_64;arm64")
77
set(SUPPORTED_OSX_ARCHS "x86_64;arm64")
88
set(SUPPORTED_XROS_ARCHS "arm64;arm64e")
99
set(SUPPORTED_XROS_SIMULATOR_ARCHS "arm64")

cmake/modules/SwiftConfigureSDK.cmake

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,6 @@ function(remove_sdk_unsupported_archs name os sdk_path deployment_version archit
9191
# 32-bit watchOS is not listed explicitly in SDK settings.
9292
message(STATUS "Assuming ${name} SDK at ${sdk_path} supports architecture ${arch}")
9393
list(APPEND architectures ${arch})
94-
elseif(arch STREQUAL "i386" AND os STREQUAL "watchsimulator")
95-
# 32-bit watchOS simulator is not listed explicitly in SDK settings.
96-
message(STATUS "Assuming ${name} SDK at ${sdk_path} supports architecture ${arch}")
97-
list(APPEND architectures ${arch})
9894
else()
9995
message(STATUS "${name} SDK at ${sdk_path} does not support architecture ${arch}")
10096
endif()
@@ -431,7 +427,7 @@ macro(configure_sdk_unix name architectures)
431427
string(REGEX REPLACE "[-].*" "" freebsd_system_version ${CMAKE_SYSTEM_VERSION})
432428
message(STATUS "FreeBSD Version: ${freebsd_system_version}")
433429

434-
set(SWIFT_SDK_FREEBSD_ARCH_${arch}_TRIPLE "${arch}-unknown-freebsd${freebsd_system_version}")
430+
set(SWIFT_SDK_FREEBSD_ARCH_${arch}_TRIPLE "${arch}-unknown-freebsd")
435431
elseif("${prefix}" STREQUAL "OPENBSD")
436432
if(NOT arch STREQUAL "x86_64" AND NOT arch STREQUAL "aarch64")
437433
message(FATAL_ERROR "unsupported arch for OpenBSD: ${arch}")

docs/SIL/Instructions.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2005,15 +2005,19 @@ Builtin.RawPointer or a struct containing the same.
20052005
`%base` may have either object or address type. In the latter case, the
20062006
dependency is on the current value stored in the address.
20072007

2008-
The optional `nonescaping` attribute indicates that no value derived from
2009-
`%value` escapes the lifetime of `%base`. As with escaping `mark_dependence`,
2010-
all values transitively forwarded from `%value` must be destroyed within the
2011-
lifetime of `base`. Unlike escaping`mark_dependence`, this must be statically
2012-
verifiable. Additionally, unlike escaping`mark_dependence`, derived values
2013-
include copies of`%value`and values transitively forwarded from those copies.
2014-
If`%base`must not be identical to`%value`. Unlike escaping`mark_dependence`,
2015-
no value derived from`%value`may have a bitwise escape (conversion to
2016-
UnsafePointer) or pointer escape (unknown use).
2008+
The optional `nonescaping` attribute indicates that no value derived
2009+
from `%value` escapes the lifetime of `%base`. As with escaping
2010+
`mark_dependence`, all values transitively forwarded from `%value`
2011+
must be destroyed within the lifetime of `base`. Unlike escaping
2012+
`mark_dependence`, this must be statically verifiable. Additionally,
2013+
unlike escaping `mark_dependence`, nonescaping `mark_dependence` may
2014+
produce a value of non-`Escapable` type. A non-`Escapable`
2015+
`mark_dependence` extends the lifetime of `%base` into copies of
2016+
`%value` and values transitively forwarded from those copies. If the
2017+
`mark_dependence` forwards an address, then it extends the lifetime
2018+
through loads from that address. Unlike escaping `mark_dependence`, no
2019+
value derived from `%value` may have a bitwise escape (conversion to
2020+
UnsafePointer) or pointer escape (unknown use).
20172021

20182022
### is_unique
20192023

include/swift-c/DependencyScan/DependencyScan.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
/// SWIFTSCAN_VERSION_MINOR should increase when there are API additions.
2626
/// SWIFTSCAN_VERSION_MAJOR is intended for "major" source/ABI breaking changes.
2727
#define SWIFTSCAN_VERSION_MAJOR 2
28-
#define SWIFTSCAN_VERSION_MINOR 0
28+
#define SWIFTSCAN_VERSION_MINOR 1
2929

3030
SWIFTSCAN_BEGIN_DECLS
3131

@@ -222,6 +222,14 @@ SWIFTSCAN_PUBLIC swiftscan_string_ref_t
222222
swiftscan_swift_textual_detail_get_user_module_version(
223223
swiftscan_module_details_t details);
224224

225+
SWIFTSCAN_PUBLIC swiftscan_string_ref_t
226+
swiftscan_swift_textual_detail_get_chained_bridging_header_path(
227+
swiftscan_module_details_t details);
228+
229+
SWIFTSCAN_PUBLIC swiftscan_string_ref_t
230+
swiftscan_swift_textual_detail_get_chained_bridging_header_content(
231+
swiftscan_module_details_t details);
232+
225233
//=== Swift Binary Module Details query APIs ------------------------------===//
226234

227235
SWIFTSCAN_PUBLIC swiftscan_string_ref_t

include/swift/AST/ASTBridging.h

Lines changed: 179 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ template<typename T> class ArrayRef;
3333
}
3434

3535
namespace swift {
36+
class AvailabilityDomain;
3637
class Argument;
3738
class ASTContext;
3839
struct ASTNode;
@@ -65,6 +66,28 @@ class BridgedCanType;
6566
class BridgedASTContext;
6667
struct BridgedSubstitutionMap;
6768
class BridgedParameterList;
69+
enum BridgedPlatformKind : size_t;
70+
71+
// Forward declare the underlying AST node type for each wrapper.
72+
namespace swift {
73+
#define AST_BRIDGING_WRAPPER(Name) class Name;
74+
#include "swift/AST/ASTBridgingWrappers.def"
75+
} // end namespace swift
76+
77+
// Define the bridging wrappers for each AST node.
78+
#define AST_BRIDGING_WRAPPER(Name) BRIDGING_WRAPPER_NONNULL(swift::Name, Name)
79+
#define AST_BRIDGING_WRAPPER_CONST(Name) \
80+
BRIDGING_WRAPPER_CONST_NONNULL(swift::Name, Name)
81+
#include "swift/AST/ASTBridgingWrappers.def"
82+
83+
// For nullable nodes, also define a nullable variant.
84+
#define AST_BRIDGING_WRAPPER_NULLABLE(Name) \
85+
BRIDGING_WRAPPER_NULLABLE(swift::Name, Name)
86+
#define AST_BRIDGING_WRAPPER_CONST_NULLABLE(Name) \
87+
BRIDGING_WRAPPER_CONST_NULLABLE(swift::Name, Name)
88+
#define AST_BRIDGING_WRAPPER_NONNULL(Name)
89+
#define AST_BRIDGING_WRAPPER_CONST_NONNULL(Name)
90+
#include "swift/AST/ASTBridgingWrappers.def"
6891

6992
//===----------------------------------------------------------------------===//
7093
// MARK: Identifier
@@ -282,6 +305,10 @@ SWIFT_NAME("BridgedASTContext.langOptsGetCompilerVersion(self:_:)")
282305
SwiftInt BridgedASTContext_langOptsGetCompilerVersion(BridgedASTContext cContext,
283306
SwiftInt* _Nullable * _Nonnull cComponents);
284307

308+
SWIFT_NAME("getter:BridgedASTContext.availabilityMacroMap(self:)")
309+
BridgedAvailabilityMacroMap
310+
BridgedASTContext_getAvailabilityMacroMap(BridgedASTContext cContext);
311+
285312
/* Deallocate an array of Swift int values that was allocated in C++. */
286313
void deallocateIntBuffer(SwiftInt * _Nullable cComponents);
287314

@@ -354,22 +381,6 @@ struct BridgedASTNode {
354381
BRIDGED_INLINE swift::ASTNode unbridged() const;
355382
};
356383

357-
// Forward declare the underlying AST node type for each wrapper.
358-
namespace swift {
359-
#define AST_BRIDGING_WRAPPER(Name) class Name;
360-
#include "swift/AST/ASTBridgingWrappers.def"
361-
} // end namespace swift
362-
363-
// Define the bridging wrappers for each AST node.
364-
#define AST_BRIDGING_WRAPPER(Name) BRIDGING_WRAPPER_NONNULL(swift::Name, Name)
365-
#include "swift/AST/ASTBridgingWrappers.def"
366-
367-
// For nullable nodes, also define a nullable variant.
368-
#define AST_BRIDGING_WRAPPER_NULLABLE(Name) \
369-
BRIDGING_WRAPPER_NULLABLE(swift::Name, Name)
370-
#define AST_BRIDGING_WRAPPER_NONNULL(Name)
371-
#include "swift/AST/ASTBridgingWrappers.def"
372-
373384
// Declare `.asDecl` on each BridgedXXXDecl type, which upcasts a wrapper for
374385
// a Decl subclass to a BridgedDecl.
375386
#define DECL(Id, Parent) \
@@ -565,6 +576,120 @@ SWIFT_NAME("getter:BridgedClosureExpr.asDeclContext(self:)")
565576
BridgedDeclContext
566577
BridgedClosureExpr_asDeclContext(BridgedClosureExpr cClosure);
567578

579+
//===----------------------------------------------------------------------===//
580+
// MARK: Availability
581+
//===----------------------------------------------------------------------===//
582+
583+
enum ENUM_EXTENSIBILITY_ATTR(closed) BridgedPlatformKind : size_t {
584+
BridgedPlatformKind_None,
585+
#define AVAILABILITY_PLATFORM(X, PrettyName) BridgedPlatformKind_##X,
586+
#include "swift/AST/PlatformKinds.def"
587+
};
588+
589+
SWIFT_NAME("BridgedPlatformKind.init(from:)")
590+
BridgedPlatformKind BridgedPlatformKind_fromString(BridgedStringRef cStr);
591+
592+
SWIFT_NAME("BridgedAvailabilityMacroMap.has(self:name:)")
593+
bool BridgedAvailabilityMacroMap_hasName(BridgedAvailabilityMacroMap map,
594+
BridgedStringRef name);
595+
596+
SWIFT_NAME("BridgedAvailabilityMacroMap.has(self:name:version:)")
597+
bool BridgedAvailabilityMacroMap_hasNameAndVersion(
598+
BridgedAvailabilityMacroMap map, BridgedStringRef name,
599+
BridgedVersionTuple version);
600+
601+
SWIFT_NAME("BridgedAvailabilityMacroMap.get(self:name:version:)")
602+
BridgedArrayRef
603+
BridgedAvailabilityMacroMap_getSpecs(BridgedAvailabilityMacroMap map,
604+
BridgedStringRef name,
605+
BridgedVersionTuple version);
606+
607+
struct BridgedAvailabilityMacroDefinition {
608+
BridgedStringRef name;
609+
BridgedVersionTuple version;
610+
BridgedArrayRef specs;
611+
};
612+
613+
enum ENUM_EXTENSIBILITY_ATTR(closed) BridgedAvailabilitySpecKind {
614+
BridgedAvailabilitySpecKindPlatformVersionConstraint,
615+
BridgedAvailabilitySpecKindOtherPlatform,
616+
BridgedAvailabilitySpecKindLanguageVersionConstraint,
617+
BridgedAvailabilitySpecKindPackageDescriptionVersionConstraint,
618+
};
619+
620+
struct BridgedAvailabilityDomain;
621+
622+
SWIFT_NAME("getter:BridgedAvailabilitySpec.sourceRange(self:)")
623+
BridgedSourceRange
624+
BridgedAvailabilitySpec_getSourceRange(BridgedAvailabilitySpec spec);
625+
626+
SWIFT_NAME("getter:BridgedAvailabilitySpec.domain(self:)")
627+
BridgedAvailabilityDomain
628+
BridgedAvailabilitySpec_getDomain(BridgedAvailabilitySpec spec);
629+
630+
SWIFT_NAME("getter:BridgedAvailabilitySpec.version(self:)")
631+
BridgedVersionTuple
632+
BridgedAvailabilitySpec_getVersion(BridgedAvailabilitySpec spec);
633+
634+
SWIFT_NAME("getter:BridgedAvailabilitySpec.versionRange(self:)")
635+
BridgedSourceRange
636+
BridgedAvailabilitySpec_getVersionRange(BridgedAvailabilitySpec spec);
637+
638+
SWIFT_NAME("BridgedPlatformVersionConstraintAvailabilitySpec.createParsed(_:"
639+
"platform:platformLoc:version:runtimeVersion:versionRange:)")
640+
BridgedPlatformVersionConstraintAvailabilitySpec
641+
BridgedPlatformVersionConstraintAvailabilitySpec_createParsed(
642+
BridgedASTContext cContext, BridgedPlatformKind cPlatform,
643+
BridgedSourceLoc cPlatformLoc, BridgedVersionTuple cVersion,
644+
BridgedVersionTuple cRuntimeVersion, BridgedSourceRange cVersionSrcRange);
645+
646+
SWIFT_NAME("BridgedPlatformAgnosticVersionConstraintAvailabilitySpec."
647+
"createParsed(_:kind:nameLoc:version:versionRange:)")
648+
BridgedPlatformAgnosticVersionConstraintAvailabilitySpec
649+
BridgedPlatformAgnosticVersionConstraintAvailabilitySpec_createParsed(
650+
BridgedASTContext cContext, BridgedAvailabilitySpecKind cKind,
651+
BridgedSourceLoc cNameLoc, BridgedVersionTuple cVersion,
652+
BridgedSourceRange cVersionSrcRange);
653+
654+
SWIFT_NAME("BridgedOtherPlatformAvailabilitySpec.createParsed(_:loc:)")
655+
BridgedOtherPlatformAvailabilitySpec
656+
BridgedOtherPlatformAvailabilitySpec_createParsed(BridgedASTContext cContext,
657+
BridgedSourceLoc cLoc);
658+
659+
SWIFT_NAME("getter:BridgedPlatformVersionConstraintAvailabilitySpec."
660+
"asAvailabilitySpec(self:)")
661+
BridgedAvailabilitySpec
662+
BridgedPlatformVersionConstraintAvailabilitySpec_asAvailabilitySpec(
663+
BridgedPlatformVersionConstraintAvailabilitySpec spec);
664+
665+
SWIFT_NAME("getter:BridgedPlatformAgnosticVersionConstraintAvailabilitySpec."
666+
"asAvailabilitySpec(self:)")
667+
BridgedAvailabilitySpec
668+
BridgedPlatformAgnosticVersionConstraintAvailabilitySpec_asAvailabilitySpec(
669+
BridgedPlatformAgnosticVersionConstraintAvailabilitySpec spec);
670+
671+
SWIFT_NAME(
672+
"getter:BridgedOtherPlatformAvailabilitySpec.asAvailabilitySpec(self:)")
673+
BridgedAvailabilitySpec BridgedOtherPlatformAvailabilitySpec_asAvailabilitySpec(
674+
BridgedOtherPlatformAvailabilitySpec spec);
675+
676+
struct BridgedAvailabilityDomain {
677+
void *_Nullable opaque;
678+
679+
BridgedAvailabilityDomain() : opaque(nullptr) {};
680+
BRIDGED_INLINE BridgedAvailabilityDomain(swift::AvailabilityDomain domain);
681+
BRIDGED_INLINE swift::AvailabilityDomain unbridged() const;
682+
683+
BRIDGED_INLINE static BridgedAvailabilityDomain forUniversal();
684+
BRIDGED_INLINE static BridgedAvailabilityDomain
685+
forPlatform(BridgedPlatformKind platformKind);
686+
BRIDGED_INLINE static BridgedAvailabilityDomain forSwiftLanguage();
687+
BRIDGED_INLINE static BridgedAvailabilityDomain forPackageDescription();
688+
BRIDGED_INLINE static BridgedAvailabilityDomain forEmbedded();
689+
690+
bool isNull() const { return opaque == nullptr; };
691+
};
692+
568693
//===----------------------------------------------------------------------===//
569694
// MARK: DeclAttributes
570695
//===----------------------------------------------------------------------===//
@@ -581,7 +706,7 @@ BridgedDeclAttrKind BridgedDeclAttrKind_fromString(BridgedStringRef cStr);
581706
struct BridgedDeclAttributes {
582707
BridgedNullableDeclAttribute chain;
583708

584-
BridgedDeclAttributes() : chain(nullptr){};
709+
BridgedDeclAttributes() : chain(nullptr) {};
585710

586711
BRIDGED_INLINE BridgedDeclAttributes(swift::DeclAttributes attrs);
587712

@@ -598,9 +723,43 @@ BridgedDeclAttribute BridgedDeclAttribute_createSimple(
598723
BridgedSourceLoc cAtLoc, BridgedSourceLoc cNameLoc);
599724

600725
SWIFT_NAME("BridgedABIAttr.createParsed(_:atLoc:range:abiDecl:)")
601-
BridgedABIAttr BridgedABIAttr_createParsed(
602-
BridgedASTContext cContext, BridgedSourceLoc atLoc,
603-
BridgedSourceRange range, BridgedNullableDecl abiDecl);
726+
BridgedABIAttr BridgedABIAttr_createParsed(BridgedASTContext cContext,
727+
BridgedSourceLoc atLoc,
728+
BridgedSourceRange range,
729+
BridgedNullableDecl abiDecl);
730+
731+
enum ENUM_EXTENSIBILITY_ATTR(closed) BridgedAvailableAttrKind {
732+
BridgedAvailableAttrKindDefault,
733+
BridgedAvailableAttrKindDeprecated,
734+
BridgedAvailableAttrKindUnavailable,
735+
BridgedAvailableAttrKindNoAsync,
736+
};
737+
738+
SWIFT_NAME(
739+
"BridgedAvailableAttr.createParsed(_:atLoc:range:domain:domainLoc:kind:message:"
740+
"renamed:introduced:introducedRange:deprecated:deprecatedRange:"
741+
"obsoleted:obsoletedRange:)")
742+
BridgedAvailableAttr BridgedAvailableAttr_createParsed(
743+
BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
744+
BridgedSourceRange cRange, BridgedAvailabilityDomain cDomain, BridgedSourceLoc cDomainLoc,
745+
BridgedAvailableAttrKind cKind, BridgedStringRef cMessage,
746+
BridgedStringRef cRenamed, BridgedVersionTuple cIntroduced,
747+
BridgedSourceRange cIntroducedRange, BridgedVersionTuple cDeprecated,
748+
BridgedSourceRange cDeprecatedRange, BridgedVersionTuple cObsoleted,
749+
BridgedSourceRange cObsoletedRange);
750+
751+
SWIFT_NAME(
752+
"BridgedAvailableAttr.createParsed(_:atLoc:range:domainString:domainLoc:kind:message:"
753+
"renamed:introduced:introducedRange:deprecated:deprecatedRange:"
754+
"obsoleted:obsoletedRange:)")
755+
BridgedAvailableAttr BridgedAvailableAttr_createParsedStr(
756+
BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
757+
BridgedSourceRange cRange, BridgedStringRef cDomainString, BridgedSourceLoc cDomainLoc,
758+
BridgedAvailableAttrKind cKind, BridgedStringRef cMessage,
759+
BridgedStringRef cRenamed, BridgedVersionTuple cIntroduced,
760+
BridgedSourceRange cIntroducedRange, BridgedVersionTuple cDeprecated,
761+
BridgedSourceRange cDeprecatedRange, BridgedVersionTuple cObsoleted,
762+
BridgedSourceRange cObsoletedRange);
604763

605764
enum ENUM_EXTENSIBILITY_ATTR(closed) BridgedExecutionKind {
606765
BridgedExecutionKindConcurrent,

0 commit comments

Comments
 (0)