Skip to content

Commit 9bde623

Browse files
committed
[AST] Remove ExecutionAttribute experimental feature
SE-0461 has been accepted and `@concurrent` and `nonisolated(nonsending)` can be make generally available now.
1 parent 884ed60 commit 9bde623

21 files changed

+30
-93
lines changed

include/swift/AST/DeclAttr.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -884,7 +884,6 @@ SIMPLE_DECL_ATTR(concurrent, Concurrent,
884884
OnFunc | OnConstructor | OnSubscript | OnVar,
885885
ABIBreakingToAdd | ABIBreakingToRemove | APIBreakingToAdd | APIBreakingToRemove | UnconstrainedInABIAttr,
886886
170)
887-
DECL_ATTR_FEATURE_REQUIREMENT(Concurrent, ExecutionAttribute)
888887

889888
LAST_DECL_ATTR(Concurrent)
890889

include/swift/AST/PrintOptions.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -397,9 +397,6 @@ struct PrintOptions {
397397
/// Suppress modify/read accessors.
398398
bool SuppressCoroutineAccessors = false;
399399

400-
/// Suppress the @execution attribute
401-
bool SuppressExecutionAttribute = false;
402-
403400
/// List of attribute kinds that should not be printed.
404401
std::vector<AnyAttrKind> ExcludeAttrList = {
405402
DeclAttrKind::Transparent, DeclAttrKind::Effects,

include/swift/Basic/Features.def

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -484,10 +484,6 @@ SUPPRESSIBLE_EXPERIMENTAL_FEATURE(AddressableTypes, true)
484484
/// Allow the @abi attribute.
485485
SUPPRESSIBLE_EXPERIMENTAL_FEATURE(ABIAttribute, true)
486486

487-
/// Allow the @execution attribute. This is also connected to
488-
/// AsyncCallerExecution feature.
489-
SUPPRESSIBLE_EXPERIMENTAL_FEATURE(ExecutionAttribute, false)
490-
491487
/// Functions with nonisolated isolation inherit their isolation from the
492488
/// calling context.
493489
ADOPTABLE_EXPERIMENTAL_FEATURE(AsyncCallerExecution, false)

lib/AST/ASTPrinter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3303,10 +3303,10 @@ suppressingFeatureAddressableTypes(PrintOptions &options,
33033303
}
33043304

33053305
static void
3306-
suppressingFeatureExecutionAttribute(PrintOptions &options,
3307-
llvm::function_ref<void()> action) {
3308-
llvm::SaveAndRestore<bool> scope1(options.SuppressExecutionAttribute, true);
3309-
ExcludeAttrRAII scope2(options.ExcludeAttrList, DeclAttrKind::Concurrent);
3306+
suppressingFeatureCustomAvailability(PrintOptions &options,
3307+
llvm::function_ref<void()> action) {
3308+
// FIXME: [availability] Save and restore a bit controlling whether
3309+
// @available attributes for custom domains are printed.
33103310
action();
33113311
}
33123312

lib/AST/FeatureSet.cpp

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -502,48 +502,6 @@ static bool usesFeatureBuiltinEmplaceTypedThrows(Decl *decl) {
502502
return false;
503503
}
504504

505-
static bool usesFeatureExecutionAttribute(Decl *decl) {
506-
if (!DeclAttribute::canAttributeAppearOnDecl(DeclAttrKind::Concurrent,
507-
decl)) {
508-
return false;
509-
}
510-
511-
if (decl->getAttrs().hasAttribute<ConcurrentAttr>())
512-
return true;
513-
514-
auto hasConcurrentAttr = [](TypeRepr *R) {
515-
if (!R)
516-
return false;
517-
518-
return R->findIf([](TypeRepr *repr) {
519-
if (auto *AT = dyn_cast<AttributedTypeRepr>(repr)) {
520-
return llvm::any_of(AT->getAttrs(), [](TypeOrCustomAttr attr) {
521-
if (auto *TA = attr.dyn_cast<TypeAttribute *>()) {
522-
return isa<ConcurrentTypeAttr>(TA);
523-
}
524-
return false;
525-
});
526-
}
527-
return false;
528-
});
529-
};
530-
531-
auto *VD = cast<ValueDecl>(decl);
532-
533-
// Check if any parameters that have `@execution` attribute.
534-
if (auto *PL = VD->getParameterList()) {
535-
for (auto *P : *PL) {
536-
if (hasConcurrentAttr(P->getTypeRepr()))
537-
return true;
538-
}
539-
}
540-
541-
if (hasConcurrentAttr(VD->getResultTypeRepr()))
542-
return true;
543-
544-
return false;
545-
}
546-
547505
// ----------------------------------------------------------------------------
548506
// MARK: - FeatureSet
549507
// ----------------------------------------------------------------------------

test/ASTGen/attrs.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
// RUN: %target-swift-frontend-dump-parse \
44
// RUN: -enable-experimental-feature ABIAttribute \
5-
// RUN: -enable-experimental-feature ExecutionAttribute \
65
// RUN: -enable-experimental-feature Extern \
76
// RUN: -enable-experimental-feature LifetimeDependence \
87
// RUN: -enable-experimental-feature RawLayout \
@@ -14,7 +13,6 @@
1413

1514
// RUN: %target-swift-frontend-dump-parse \
1615
// RUN: -enable-experimental-feature ABIAttribute \
17-
// RUN: -enable-experimental-feature ExecutionAttribute \
1816
// RUN: -enable-experimental-feature Extern \
1917
// RUN: -enable-experimental-feature LifetimeDependence \
2018
// RUN: -enable-experimental-feature RawLayout \
@@ -29,7 +27,6 @@
2927
// RUN: -module-abi-name ASTGen \
3028
// RUN: -enable-experimental-feature ParserASTGen \
3129
// RUN: -enable-experimental-feature ABIAttribute \
32-
// RUN: -enable-experimental-feature ExecutionAttribute \
3330
// RUN: -enable-experimental-feature Extern \
3431
// RUN: -enable-experimental-feature LifetimeDependence \
3532
// RUN: -enable-experimental-feature RawLayout \
@@ -42,7 +39,6 @@
4239
// REQUIRES: swift_swift_parser
4340
// REQUIRES: swift_feature_ParserASTGen
4441
// REQUIRES: swift_feature_ABIAttribute
45-
// REQUIRES: swift_feature_ExecutionAttribute
4642
// REQUIRES: swift_feature_Extern
4743
// REQUIRES: swift_feature_LifetimeDependence
4844
// REQUIRES: swift_feature_RawLayout

test/Concurrency/Runtime/nonisolated_inherits_isolation.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
// RUN: %target-run-simple-swift( -swift-version 6 -g %import-libdispatch -import-objc-header %S/Inputs/RunOnMainActor.h -enable-experimental-feature ExecutionAttribute -enable-experimental-feature AsyncCallerExecution )
1+
// RUN: %target-run-simple-swift( -swift-version 6 -g %import-libdispatch -import-objc-header %S/Inputs/RunOnMainActor.h -enable-experimental-feature AsyncCallerExecution )
22

33
// REQUIRES: executable_test
44
// REQUIRES: concurrency
55
// REQUIRES: concurrency_runtime
66
// REQUIRES: libdispatch
77
// REQUIRES: asserts
88

9-
// REQUIRES: swift_feature_ExecutionAttribute
109
// REQUIRES: swift_feature_AsyncCallerExecution
1110

1211
// UNSUPPORTED: freestanding

test/Concurrency/attr_execution/adoption_mode.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
// RUN: %target-typecheck-verify-swift -target %target-swift-5.1-abi-triple -swift-version 5 -enable-experimental-feature ExecutionAttribute -enable-experimental-feature AsyncCallerExecution:adoption
2-
// RUN: %target-typecheck-verify-swift -target %target-swift-5.1-abi-triple -swift-version 6 -enable-experimental-feature ExecutionAttribute -enable-experimental-feature AsyncCallerExecution:adoption
1+
// RUN: %target-typecheck-verify-swift -target %target-swift-5.1-abi-triple -swift-version 5 -enable-experimental-feature AsyncCallerExecution:adoption
2+
// RUN: %target-typecheck-verify-swift -target %target-swift-5.1-abi-triple -swift-version 6 -enable-experimental-feature AsyncCallerExecution:adoption
33

4-
// REQUIRES: swift_feature_ExecutionAttribute
54
// REQUIRES: swift_feature_AsyncCallerExecution
65

76
struct G<T> {

test/Concurrency/attr_execution/attr_execution.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
// RUN: %target-swift-emit-silgen -enable-experimental-feature ExecutionAttribute -enable-experimental-feature AsyncCallerExecution %s | %FileCheck %s
1+
// RUN: %target-swift-emit-silgen -enable-experimental-feature AsyncCallerExecution %s | %FileCheck %s
22

3-
// REQUIRES: swift_feature_ExecutionAttribute
43
// REQUIRES: swift_feature_AsyncCallerExecution
54

65

test/Concurrency/attr_execution/conversions.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
// RUN: %target-typecheck-verify-swift -target %target-swift-5.1-abi-triple -enable-experimental-feature ExecutionAttribute
1+
// RUN: %target-typecheck-verify-swift -target %target-swift-5.1-abi-triple
22

33
// REQUIRES: concurrency
4-
// REQUIRES: swift_feature_ExecutionAttribute
54

65
@globalActor
76
actor MyActor {

test/Concurrency/attr_execution/conversions_silgen.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
// RUN: %target-swift-emit-silgen %s -module-name attr_execution_silgen -target %target-swift-5.1-abi-triple -enable-experimental-feature ExecutionAttribute -DSWIFT_FIVE | %FileCheck -check-prefix CHECK -check-prefix FIVE %s
2-
// RUN: %target-swift-emit-silgen %s -swift-version 6 -module-name attr_execution_silgen -target %target-swift-5.1-abi-triple -enable-experimental-feature ExecutionAttribute | %FileCheck -check-prefix CHECK -check-prefix SIX %s
1+
// RUN: %target-swift-emit-silgen %s -module-name attr_execution_silgen -target %target-swift-5.1-abi-triple -DSWIFT_FIVE | %FileCheck -check-prefix CHECK -check-prefix FIVE %s
2+
// RUN: %target-swift-emit-silgen %s -swift-version 6 -module-name attr_execution_silgen -target %target-swift-5.1-abi-triple | %FileCheck -check-prefix CHECK -check-prefix SIX %s
33

44
// We codegen slightly differently for swift 5 vs swift 6, so we need to check
55
// both.
66

77
// REQUIRES: asserts
88
// REQUIRES: concurrency
9-
// REQUIRES: swift_feature_ExecutionAttribute
109

1110
////////////////////////
1211
// MARK: Declarations //

test/Concurrency/attr_execution/protocols_silgen.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
// RUN: %target-swift-emit-silgen %s -module-name attr_execution_silgen -target %target-swift-5.1-abi-triple -enable-experimental-feature ExecutionAttribute -DSWIFT_FIVE | %FileCheck -check-prefix CHECK -check-prefix FIVE %s
2-
// RUN: %target-swift-emit-silgen %s -swift-version 6 -module-name attr_execution_silgen -target %target-swift-5.1-abi-triple -enable-experimental-feature ExecutionAttribute | %FileCheck -check-prefix CHECK -check-prefix SIX %s
1+
// RUN: %target-swift-emit-silgen %s -module-name attr_execution_silgen -target %target-swift-5.1-abi-triple -DSWIFT_FIVE | %FileCheck -check-prefix CHECK -check-prefix FIVE %s
2+
// RUN: %target-swift-emit-silgen %s -swift-version 6 -module-name attr_execution_silgen -target %target-swift-5.1-abi-triple | %FileCheck -check-prefix CHECK -check-prefix SIX %s
33

44
// We codegen slightly differently for swift 5 vs swift 6, so we need to check
55
// both.
66

77
// REQUIRES: asserts
88
// REQUIRES: concurrency
9-
// REQUIRES: swift_feature_ExecutionAttribute
109

1110
protocol P {
1211
nonisolated(nonsending) func callerTest() async

test/IDE/complete_decl_attribute.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ actor MyGenericGlobalActor<T> {
183183
// ON_GLOBALVAR-DAG: Keyword/None: exclusivity[#Var Attribute#]; name=exclusivity
184184
// ON_GLOBALVAR-DAG: Keyword/None: preconcurrency[#Var Attribute#]; name=preconcurrency
185185
// ON_GLOBALVAR-DAG: Keyword/None: backDeployed[#Var Attribute#]; name=backDeployed
186+
// ON_GLOBALVAR-DAG: Keyword/None: concurrent[#Var Attribute#]; name=concurrent
186187
// ON_GLOBALVAR-NOT: Keyword
187188
// ON_GLOBALVAR-DAG: Decl[Struct]/CurrModule: MyStruct[#MyStruct#]; name=MyStruct
188189
// ON_GLOBALVAR-DAG: Decl[Struct]/CurrModule/TypeRelation[Convertible]: MyPropertyWrapper[#Property Wrapper#]; name=MyPropertyWrapper
@@ -220,6 +221,7 @@ struct _S {
220221
// ON_PROPERTY-DAG: Keyword/None: exclusivity[#Var Attribute#]; name=exclusivity
221222
// ON_PROPERTY-DAG: Keyword/None: preconcurrency[#Var Attribute#]; name=preconcurrency
222223
// ON_PROPERTY-DAG: Keyword/None: backDeployed[#Var Attribute#]; name=backDeployed
224+
// ON_PROPERTY-DAG: Keyword/None: concurrent[#Var Attribute#]; name=concurrent
223225
// ON_PROPERTY-NOT: Keyword
224226
// ON_PROPERTY-DAG: Decl[Struct]/CurrModule: MyStruct[#MyStruct#]; name=MyStruct
225227
// ON_PROPERTY-DAG: Decl[Struct]/CurrModule/TypeRelation[Convertible]: MyPropertyWrapper[#Property Wrapper#]; name=MyPropertyWrapper
@@ -251,6 +253,7 @@ struct _S {
251253
// ON_METHOD-DAG: Keyword/None: preconcurrency[#Func Attribute#]; name=preconcurrency
252254
// ON_METHOD-DAG: Keyword/None: backDeployed[#Func Attribute#]; name=backDeployed
253255
// ON_METHOD-DAG: Keyword/None: lifetime[#Func Attribute#]; name=lifetime
256+
// ON_METHOD-DAG: Keyword/None: concurrent[#Func Attribute#]; name=concurrent
254257
// ON_METHOD-NOT: Keyword
255258
// ON_METHOD-DAG: Decl[Struct]/CurrModule: MyStruct[#MyStruct#]; name=MyStruct
256259
// ON_METHOD-DAG: Decl[Struct]/CurrModule: MyPropertyWrapper[#Property Wrapper#]; name=MyPropertyWrapper
@@ -326,6 +329,7 @@ struct _S {
326329
// ON_MEMBER_LAST-DAG: Keyword/None: storageRestrictions[#Declaration Attribute#]; name=storageRestrictions
327330
// ON_MEMBER_LAST-DAG: Keyword/None: lifetime[#Declaration Attribute#]; name=lifetime
328331
// ON_MEMBER_LAST-DAG: Keyword/None: extensible[#Declaration Attribute#]; name=extensible
332+
// ON_MEMBER_LAST-DAG: Keyword/None: concurrent[#Declaration Attribute#]; name=concurrent
329333
// ON_MEMBER_LAST-NOT: Keyword
330334
// ON_MEMBER_LAST-DAG: Decl[Struct]/CurrModule: MyStruct[#MyStruct#]; name=MyStruct
331335
// ON_MEMBER_LAST-DAG: Decl[Struct]/CurrModule/TypeRelation[Convertible]: MyPropertyWrapper[#Property Wrapper#]; name=MyPropertyWrapper
@@ -399,6 +403,7 @@ func dummy2() {}
399403
// KEYWORD_LAST-DAG: Keyword/None: storageRestrictions[#Declaration Attribute#]; name=storageRestrictions
400404
// KEYWORD_LAST-DAG: Keyword/None: lifetime[#Declaration Attribute#]; name=lifetime
401405
// KEYWORD_LAST-DAG: Keyword/None: extensible[#Declaration Attribute#]; name=extensible
406+
// KEYWORD_LAST-DAG: Keyword/None: concurrent[#Declaration Attribute#]; name=concurrent
402407
// KEYWORD_LAST-NOT: Keyword
403408
// KEYWORD_LAST-DAG: Decl[Struct]/CurrModule: MyStruct[#MyStruct#]; name=MyStruct
404409
// KEYWORD_LAST-DAG: Decl[Struct]/CurrModule/TypeRelation[Convertible]: MyGenericPropertyWrapper[#Property Wrapper#]; name=MyGenericPropertyWrapper

test/IDE/complete_decl_attribute_feature_requirement.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77

88
// RUN: %batch-code-completion -filecheck-additional-suffix _DISABLED
99
// RUN: %batch-code-completion -filecheck-additional-suffix _ENABLED \
10-
// RUN: -enable-experimental-feature ABIAttribute \
11-
// RUN: -enable-experimental-feature ExecutionAttribute
10+
// RUN: -enable-experimental-feature ABIAttribute
1211

1312
// NOTE: Please do not include the ", N items" after "Begin completions". The
1413
// item count creates needless merge conflicts given that an "End completions"

test/ModuleInterface/attrs.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// RUN: %target-swift-emit-module-interface(%t.swiftinterface) %s -module-name attrs \
22
// RUN: -emit-private-module-interface-path %t.private.swiftinterface \
3-
// RUN: -enable-experimental-feature ABIAttribute \
4-
// RUN: -enable-experimental-feature ExecutionAttribute
3+
// RUN: -enable-experimental-feature ABIAttribute
54

65
// RUN: %target-swift-typecheck-module-from-interface(%t.swiftinterface) -module-name attrs
76
// RUN: %target-swift-typecheck-module-from-interface(%t.private.swiftinterface) -module-name attrs
@@ -10,7 +9,6 @@
109
// RUN: %FileCheck %s --check-prefixes CHECK,PRIVATE-CHECK --input-file %t.private.swiftinterface
1110

1211
// REQUIRES: swift_feature_ABIAttribute
13-
// REQUIRES: swift_feature_ExecutionAttribute
1412

1513
// CHECK: @_transparent public func glass() -> Swift.Int { return 0 }{{$}}
1614
@_transparent public func glass() -> Int { return 0 }

test/ModuleInterface/execution_behavior_attrs.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
// RUN: %target-swift-emit-module-interface(%t.swiftinterface) %s -module-name execution_attr -enable-experimental-feature ExecutionAttribute
1+
// RUN: %target-swift-emit-module-interface(%t.swiftinterface) %s -module-name execution_attr
22
// RUN: %target-swift-typecheck-module-from-interface(%t.swiftinterface) -module-name execution_attr
33

44
// RUN: %FileCheck %s --input-file %t.swiftinterface
55

6-
// REQUIRES: swift_feature_ExecutionAttribute
6+
// REQUIRES: concurrency
77

88
public struct Test {
99
// CHECK: nonisolated(nonsending) public init() async

test/Parse/execution_behavior_attrs.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
// RUN: %target-typecheck-verify-swift -disable-availability-checking -enable-experimental-feature ExecutionAttribute
1+
// RUN: %target-typecheck-verify-swift -disable-availability-checking
22

33
// REQUIRES: concurrency
4-
// REQUIRES: swift_feature_ExecutionAttribute
54

65
typealias F = @concurrent () async -> Void
76

test/SILGen/execution_attr.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
// RUN: %target-swift-emit-silgen %s -enable-experimental-feature ExecutionAttribute | %FileCheck -check-prefix CHECK -check-prefix DISABLED %s
2-
// RUN: %target-swift-emit-silgen %s -enable-experimental-feature ExecutionAttribute -enable-experimental-feature AsyncCallerExecution | %FileCheck -check-prefix CHECK -check-prefix ENABLED %s
1+
// RUN: %target-swift-emit-silgen %s | %FileCheck -check-prefix CHECK -check-prefix DISABLED %s
2+
// RUN: %target-swift-emit-silgen %s -enable-experimental-feature AsyncCallerExecution | %FileCheck -check-prefix CHECK -check-prefix ENABLED %s
33

44
// REQUIRES: concurrency
5-
// REQUIRES: swift_feature_ExecutionAttribute
65
// REQUIRES: swift_feature_AsyncCallerExecution
76

87
// Validate that both with and without the experimental flag we properly codegen

test/Serialization/caller_isolation_inherit.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-swift-frontend -enable-experimental-feature ExecutionAttribute -enable-experimental-feature AsyncCallerExecution -emit-module-path %t/WithFeature.swiftmodule -module-name WithFeature %S/Inputs/caller_inheriting_isolation.swift -swift-version 6
3-
// RUN: %target-swift-frontend -enable-experimental-feature ExecutionAttribute -emit-module-path %t/WithoutFeature.swiftmodule -module-name WithoutFeature %S/Inputs/caller_inheriting_isolation.swift -swift-version 6
2+
// RUN: %target-swift-frontend -enable-experimental-feature AsyncCallerExecution -emit-module-path %t/WithFeature.swiftmodule -module-name WithFeature %S/Inputs/caller_inheriting_isolation.swift -swift-version 6
3+
// RUN: %target-swift-frontend -emit-module-path %t/WithoutFeature.swiftmodule -module-name WithoutFeature %S/Inputs/caller_inheriting_isolation.swift -swift-version 6
44

55
// RUN: %target-swift-frontend -module-name main -I %t %s -emit-sil -o - | %FileCheck %s
66

7-
// RUN: %target-swift-frontend -enable-experimental-feature ExecutionAttribute -enable-experimental-feature AsyncCallerExecution -module-name main -I %t %s -emit-sil -verify -swift-version 6
7+
// RUN: %target-swift-frontend -enable-experimental-feature AsyncCallerExecution -module-name main -I %t %s -emit-sil -verify -swift-version 6
88

99
// REQUIRES: asserts
10-
// REQUIRES: swift_feature_ExecutionAttribute
1110
// REQUIRES: swift_feature_AsyncCallerExecution
1211

1312
import WithFeature

test/attr/attr_abi.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
// RUN: %target-typecheck-verify-swift -enable-experimental-feature Extern -enable-experimental-feature ABIAttribute -enable-experimental-feature AddressableParameters -enable-experimental-feature NoImplicitCopy -enable-experimental-feature SymbolLinkageMarkers -enable-experimental-feature StrictMemorySafety -enable-experimental-feature LifetimeDependence -enable-experimental-feature CImplementation -enable-experimental-feature ExecutionAttribute -import-bridging-header %S/Inputs/attr_abi.h -parse-as-library -Rabi-inference -debugger-support
1+
// RUN: %target-typecheck-verify-swift -enable-experimental-feature Extern -enable-experimental-feature ABIAttribute -enable-experimental-feature AddressableParameters -enable-experimental-feature NoImplicitCopy -enable-experimental-feature SymbolLinkageMarkers -enable-experimental-feature StrictMemorySafety -enable-experimental-feature LifetimeDependence -enable-experimental-feature CImplementation -import-bridging-header %S/Inputs/attr_abi.h -parse-as-library -Rabi-inference -debugger-support
22

33
// REQUIRES: swift_feature_ABIAttribute
44
// REQUIRES: swift_feature_AddressableParameters
55
// REQUIRES: swift_feature_CImplementation
6-
// REQUIRES: swift_feature_ExecutionAttribute
76
// REQUIRES: swift_feature_Extern
87
// REQUIRES: swift_feature_LifetimeDependence
98
// REQUIRES: swift_feature_NoImplicitCopy

test/attr/execution_behavior_attrs.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
// RUN: %target-typecheck-verify-swift -target %target-swift-5.1-abi-triple -enable-experimental-feature ExecutionAttribute
1+
// RUN: %target-typecheck-verify-swift -target %target-swift-5.1-abi-triple
22

33
// REQUIRES: concurrency
4-
// REQUIRES: swift_feature_ExecutionAttribute
54

65
// FIXME: Bad parser diagnostic on C++ side
76
nonisolated(something) func invalidAttr() async {} // expected-error {{cannot find 'nonisolated' in scope}}

0 commit comments

Comments
 (0)