Skip to content

Commit 2dca45f

Browse files
authored
Merge pull request #81149 from xedin/rename-adoptable-to-migratable
[Basic] Features: Align "migration" mode with the latest proposal draft
2 parents 217a091 + 1ba077d commit 2dca45f

18 files changed

+137
-137
lines changed

include/swift/AST/DiagnosticsFrontend.def

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ GROUPED_WARNING(cannot_disable_feature_with_mode, StrictLanguageFeatures, none,
5959
"'%0' argument '%1' cannot specify a mode",
6060
(StringRef, StringRef))
6161

62-
GROUPED_WARNING(feature_does_not_support_adoption_mode, StrictLanguageFeatures,
62+
GROUPED_WARNING(feature_does_not_support_migration_mode, StrictLanguageFeatures,
6363
none,
64-
"feature '%0' does not support adoption mode",
64+
"feature '%0' does not support migration mode",
6565
(StringRef))
6666

6767
ERROR(error_unknown_library_level, none,

include/swift/Basic/Feature.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ struct Feature {
5757
/// Determine the in-source name of the given feature.
5858
llvm::StringRef getName() const;
5959

60-
/// Determine whether the given feature supports adoption mode.
61-
bool isAdoptable() const;
60+
/// Determine whether the given feature supports migration mode.
61+
bool isMigratable() const;
6262

6363
/// Determine whether this feature should be included in the
6464
/// module interface

include/swift/Basic/Features.def

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -121,36 +121,36 @@
121121
LANGUAGE_FEATURE(FeatureName, SENumber, Description)
122122
#endif
123123

124-
// An upcoming feature that supports adoption mode.
124+
// An upcoming feature that supports migration mode.
125125
//
126126
// If the feature is source-breaking and provides for a
127-
// mechanical code migration, it should implement adoption mode.
127+
// mechanical code migration, it should implement migration mode.
128128
//
129-
// Adoption mode is a feature-oriented code migration mechanism: a mode
129+
// Migration mode is a feature-oriented code migration mechanism: a mode
130130
// of operation that should produce compiler warnings with attached
131131
// fix-its that can be applied to preserve the behavior of the code once
132132
// the upcoming feature is enacted.
133133
// These warnings must belong to a diagnostic group named after the
134-
// feature. Adoption mode itself *and* the fix-its it produces must be
134+
// feature. Migration mode itself *and* the fix-its it produces must be
135135
// source and binary compatible with how the code is compiled when the
136136
// feature is disabled.
137-
#ifndef ADOPTABLE_UPCOMING_FEATURE
137+
#ifndef MIGRATABLE_UPCOMING_FEATURE
138138
#if defined(UPCOMING_FEATURE)
139-
#define ADOPTABLE_UPCOMING_FEATURE(FeatureName, SENumber, Version) \
139+
#define MIGRATABLE_UPCOMING_FEATURE(FeatureName, SENumber, Version) \
140140
UPCOMING_FEATURE(FeatureName, SENumber, Version)
141141
#else
142-
#define ADOPTABLE_UPCOMING_FEATURE(FeatureName, SENumber, Version) \
142+
#define MIGRATABLE_UPCOMING_FEATURE(FeatureName, SENumber, Version) \
143143
LANGUAGE_FEATURE(FeatureName, SENumber, #FeatureName)
144144
#endif
145145
#endif
146146

147-
// See `ADOPTABLE_UPCOMING_FEATURE`.
148-
#ifndef ADOPTABLE_EXPERIMENTAL_FEATURE
147+
// See `MIGRATABLE_UPCOMING_FEATURE`.
148+
#ifndef MIGRATABLE_EXPERIMENTAL_FEATURE
149149
#if defined(EXPERIMENTAL_FEATURE)
150-
#define ADOPTABLE_EXPERIMENTAL_FEATURE(FeatureName, AvailableInProd) \
150+
#define MIGRATABLE_EXPERIMENTAL_FEATURE(FeatureName, AvailableInProd) \
151151
EXPERIMENTAL_FEATURE(FeatureName, AvailableInProd)
152152
#else
153-
#define ADOPTABLE_EXPERIMENTAL_FEATURE(FeatureName, AvailableInProd) \
153+
#define MIGRATABLE_EXPERIMENTAL_FEATURE(FeatureName, AvailableInProd) \
154154
LANGUAGE_FEATURE(FeatureName, 0, #FeatureName)
155155
#endif
156156
#endif
@@ -276,11 +276,11 @@ UPCOMING_FEATURE(NonfrozenEnumExhaustivity, 192, 6)
276276
UPCOMING_FEATURE(GlobalActorIsolatedTypesUsability, 0434, 6)
277277

278278
// Swift 7
279-
ADOPTABLE_UPCOMING_FEATURE(ExistentialAny, 335, 7)
279+
MIGRATABLE_UPCOMING_FEATURE(ExistentialAny, 335, 7)
280280
UPCOMING_FEATURE(InternalImportsByDefault, 409, 7)
281281
UPCOMING_FEATURE(MemberImportVisibility, 444, 7)
282282
UPCOMING_FEATURE(InferIsolatedConformances, 470, 7)
283-
ADOPTABLE_UPCOMING_FEATURE(NonisolatedNonsendingByDefault, 461, 7)
283+
MIGRATABLE_UPCOMING_FEATURE(NonisolatedNonsendingByDefault, 461, 7)
284284

285285
// Optional language features / modes
286286

@@ -520,8 +520,8 @@ SUPPRESSIBLE_EXPERIMENTAL_FEATURE(ExtensibleAttribute, false)
520520
#undef EXPERIMENTAL_FEATURE_EXCLUDED_FROM_MODULE_INTERFACE
521521
#undef EXPERIMENTAL_FEATURE
522522
#undef UPCOMING_FEATURE
523-
#undef ADOPTABLE_UPCOMING_FEATURE
524-
#undef ADOPTABLE_EXPERIMENTAL_FEATURE
523+
#undef MIGRATABLE_UPCOMING_FEATURE
524+
#undef MIGRATABLE_EXPERIMENTAL_FEATURE
525525
#undef BASELINE_LANGUAGE_FEATURE
526526
#undef OPTIONAL_LANGUAGE_FEATURE
527527
#undef CONDITIONALLY_SUPPRESSIBLE_EXPERIMENTAL_FEATURE

include/swift/Basic/LangOptions.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,7 @@ namespace swift {
830830

831831
/// A wrapper around the feature state enumeration.
832832
struct FeatureState {
833-
enum class Kind : uint8_t { Off, EnabledForAdoption, Enabled };
833+
enum class Kind : uint8_t { Off, EnabledForMigration, Enabled };
834834

835835
private:
836836
Feature feature;
@@ -843,9 +843,9 @@ namespace swift {
843843
/// Returns whether the feature is enabled.
844844
bool isEnabled() const;
845845

846-
/// Returns whether the feature is enabled in adoption mode. Should only
846+
/// Returns whether the feature is enabled in migration mode. Should only
847847
/// be called if the feature is known to support this mode.
848-
bool isEnabledForAdoption() const;
848+
bool isEnabledForMigration() const;
849849

850850
operator Kind() const { return state; }
851851
};
@@ -878,9 +878,9 @@ namespace swift {
878878
/// `false` if a feature by this name is not known.
879879
bool hasFeature(llvm::StringRef featureName) const;
880880

881-
/// Enables the given feature (enables in adoption mode if `forAdoption` is
882-
/// `true`).
883-
void enableFeature(Feature feature, bool forAdoption = false);
881+
/// Enables the given feature (enables in migration mode if `forMigration`
882+
/// is `true`).
883+
void enableFeature(Feature feature, bool forMigration = false);
884884

885885
/// Disables the given feature.
886886
void disableFeature(Feature feature);

lib/Basic/Feature.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,18 @@ std::optional<unsigned> Feature::getLanguageVersion() const {
6969
}
7070
}
7171

72-
bool Feature::isAdoptable() const {
72+
bool Feature::isMigratable() const {
7373
switch (kind) {
74-
#define ADOPTABLE_UPCOMING_FEATURE(FeatureName, SENumber, Version)
75-
#define ADOPTABLE_EXPERIMENTAL_FEATURE(FeatureName, AvailableInProd)
74+
#define MIGRATABLE_UPCOMING_FEATURE(FeatureName, SENumber, Version)
75+
#define MIGRATABLE_EXPERIMENTAL_FEATURE(FeatureName, AvailableInProd)
7676
#define LANGUAGE_FEATURE(FeatureName, SENumber, Description) \
7777
case Feature::FeatureName:
7878
#include "swift/Basic/Features.def"
7979
return false;
8080
#define LANGUAGE_FEATURE(FeatureName, SENumber, Description)
81-
#define ADOPTABLE_UPCOMING_FEATURE(FeatureName, SENumber, Version) \
81+
#define MIGRATABLE_UPCOMING_FEATURE(FeatureName, SENumber, Version) \
8282
case Feature::FeatureName:
83-
#define ADOPTABLE_EXPERIMENTAL_FEATURE(FeatureName, AvailableInProd) \
83+
#define MIGRATABLE_EXPERIMENTAL_FEATURE(FeatureName, AvailableInProd) \
8484
case Feature::FeatureName:
8585
#include "swift/Basic/Features.def"
8686
return true;

lib/Basic/LangOptions.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -298,10 +298,10 @@ bool LangOptions::FeatureState::isEnabled() const {
298298
return state == FeatureState::Kind::Enabled;
299299
}
300300

301-
bool LangOptions::FeatureState::isEnabledForAdoption() const {
302-
ASSERT(feature.isAdoptable() && "You forgot to make the feature adoptable!");
301+
bool LangOptions::FeatureState::isEnabledForMigration() const {
302+
ASSERT(feature.isMigratable() && "You forgot to make the feature migratable!");
303303

304-
return state == FeatureState::Kind::EnabledForAdoption;
304+
return state == FeatureState::Kind::EnabledForMigration;
305305
}
306306

307307
LangOptions::FeatureStateStorage::FeatureStateStorage()
@@ -357,10 +357,10 @@ bool LangOptions::hasFeature(llvm::StringRef featureName) const {
357357
return false;
358358
}
359359

360-
void LangOptions::enableFeature(Feature feature, bool forAdoption) {
361-
if (forAdoption) {
362-
ASSERT(feature.isAdoptable());
363-
featureStates.setState(feature, FeatureState::Kind::EnabledForAdoption);
360+
void LangOptions::enableFeature(Feature feature, bool forMigration) {
361+
if (forMigration) {
362+
ASSERT(feature.isMigratable());
363+
featureStates.setState(feature, FeatureState::Kind::EnabledForMigration);
364364
return;
365365
}
366366

lib/Basic/SupportedFeatures.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ void printSupportedFeatures(llvm::raw_ostream &out) {
4848
auto printFeature = [&out](const Feature &feature) {
4949
out << " ";
5050
out << "{ \"name\": \"" << feature.getName() << "\"";
51-
if (feature.isAdoptable()) {
51+
if (feature.isMigratable()) {
5252
out << ", \"migratable\": true";
5353
}
5454
if (auto version = feature.getLanguageVersion()) {

lib/Frontend/CompilerInvocation.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,7 @@ static bool ParseEnabledFeatureArgs(LangOptions &Opts, ArgList &Args,
816816
continue;
817817
}
818818

819-
// For all other features, the argument format is `<name>[:adoption]`.
819+
// For all other features, the argument format is `<name>[:migrate]`.
820820
StringRef featureName;
821821
std::optional<StringRef> featureMode;
822822
std::tie(featureName, featureMode) = argValue.rsplit(':');
@@ -872,21 +872,21 @@ static bool ParseEnabledFeatureArgs(LangOptions &Opts, ArgList &Args,
872872

873873
if (featureMode) {
874874
if (isEnableFeatureFlag) {
875-
const auto isAdoptable = feature->isAdoptable();
875+
const auto isMigratable = feature->isMigratable();
876876

877877
// Diagnose an invalid mode.
878-
StringRef validModeName = "adoption";
878+
StringRef validModeName = "migrate";
879879
if (*featureMode != validModeName) {
880880
Diags.diagnose(SourceLoc(), diag::invalid_feature_mode, *featureMode,
881881
featureName,
882882
/*didYouMean=*/validModeName,
883-
/*showDidYouMean=*/isAdoptable);
883+
/*showDidYouMean=*/isMigratable);
884884
continue;
885885
}
886886

887-
if (!isAdoptable) {
887+
if (!isMigratable) {
888888
Diags.diagnose(SourceLoc(),
889-
diag::feature_does_not_support_adoption_mode,
889+
diag::feature_does_not_support_migration_mode,
890890
featureName);
891891
continue;
892892
}
@@ -904,7 +904,7 @@ static bool ParseEnabledFeatureArgs(LangOptions &Opts, ArgList &Args,
904904

905905
// Enable the feature if requested.
906906
if (isEnableFeatureFlag)
907-
Opts.enableFeature(*feature, /*forAdoption=*/featureMode.has_value());
907+
Opts.enableFeature(*feature, /*forMigration=*/featureMode.has_value());
908908
}
909909

910910
// Since pseudo-features don't have a boolean on/off state, process them in

lib/Sema/NonisolatedNonsendingByDefaultMigration.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ void NonisolatedNonsendingByDefaultMigrationTarget::diagnose() const {
6060
const auto feature = Feature::NonisolatedNonsendingByDefault;
6161

6262
ASSERT(node);
63-
ASSERT(ctx.LangOpts.getFeatureState(feature).isEnabledForAdoption());
63+
ASSERT(ctx.LangOpts.getFeatureState(feature).isEnabledForMigration());
6464

6565
ValueDecl *decl = nullptr;
6666
ClosureExpr *closure = nullptr;

lib/Sema/TypeCheckConcurrency.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4752,7 +4752,7 @@ ActorIsolation ActorIsolationChecker::determineClosureIsolation(
47524752
isolation = isolation.withPreconcurrency(preconcurrency);
47534753

47544754
if (ctx.LangOpts.getFeatureState(Feature::NonisolatedNonsendingByDefault)
4755-
.isEnabledForAdoption()) {
4755+
.isEnabledForMigration()) {
47564756
warnAboutNewNonisolatedAsyncExecutionBehavior(ctx, closure, isolation);
47574757
}
47584758

@@ -6260,7 +6260,7 @@ InferredActorIsolation ActorIsolationRequest::evaluate(Evaluator &evaluator,
62606260

62616261
auto &ctx = value->getASTContext();
62626262
if (ctx.LangOpts.getFeatureState(Feature::NonisolatedNonsendingByDefault)
6263-
.isEnabledForAdoption()) {
6263+
.isEnabledForMigration()) {
62646264
warnAboutNewNonisolatedAsyncExecutionBehavior(ctx, value,
62656265
inferredIsolation.isolation);
62666266
}

lib/Sema/TypeCheckType.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4246,7 +4246,7 @@ NeverNullType TypeResolver::resolveASTFunctionType(
42464246
isolation = FunctionTypeIsolation::forNonIsolated();
42474247
} else {
42484248
if (ctx.LangOpts.getFeatureState(Feature::NonisolatedNonsendingByDefault)
4249-
.isEnabledForAdoption()) {
4249+
.isEnabledForMigration()) {
42504250
// Diagnose only in the interface stage, which is run once.
42514251
if (inStage(TypeResolutionStage::Interface)) {
42524252
warnAboutNewNonisolatedAsyncExecutionBehavior(ctx, repr, isolation);
@@ -6572,7 +6572,7 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
65726572
// A missing `any` or `some` is always diagnosed if this feature not
65736573
// disabled.
65746574
auto featureState = ctx.LangOpts.getFeatureState(Feature::ExistentialAny);
6575-
if (featureState.isEnabled() || featureState.isEnabledForAdoption()) {
6575+
if (featureState.isEnabled() || featureState.isEnabledForMigration()) {
65766576
return true;
65776577
}
65786578

@@ -6665,10 +6665,10 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
66656665
/*isAlias=*/isa<TypeAliasDecl>(decl)));
66666666
}
66676667

6668-
// If `ExistentialAny` is enabled in adoption mode, warn unconditionally.
6668+
// If `ExistentialAny` is enabled in migration mode, warn unconditionally.
66696669
// Otherwise, warn until the feature's coming-of-age language mode.
66706670
const auto feature = Feature::ExistentialAny;
6671-
if (Ctx.LangOpts.getFeatureState(feature).isEnabledForAdoption()) {
6671+
if (Ctx.LangOpts.getFeatureState(feature).isEnabledForMigration()) {
66726672
diag->limitBehavior(DiagnosticBehavior::Warning);
66736673
} else {
66746674
diag->warnUntilSwiftVersion(feature.getLanguageVersion().value());

test/Concurrency/attr_execution/adoption_mode.swift

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

44
// REQUIRES: swift_feature_NonisolatedNonsendingByDefault
55

test/Frontend/features/adoption_mode.swift

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,48 +4,48 @@
44
// RUN: %target-swift-frontend -parse -swift-version 5 \
55
// RUN: -enable-upcoming-feature DynamicActorIsolation:invalid1 \
66
// RUN: -enable-upcoming-feature DynamicActorIsolation:invalid2 \
7-
// RUN: -enable-upcoming-feature DynamicActorIsolation:adoption \
8-
// RUN: -enable-upcoming-feature DynamicActorIsolation:adoption \
7+
// RUN: -enable-upcoming-feature DynamicActorIsolation:migrate \
8+
// RUN: -enable-upcoming-feature DynamicActorIsolation:migrate \
99
// RUN: -enable-experimental-feature DynamicActorIsolation:invalid3 \
1010
// RUN: -enable-experimental-feature DynamicActorIsolation:invalid4 \
11-
// RUN: -enable-experimental-feature DynamicActorIsolation:adoption \
12-
// RUN: -enable-experimental-feature DynamicActorIsolation:adoption \
11+
// RUN: -enable-experimental-feature DynamicActorIsolation:migrate \
12+
// RUN: -enable-experimental-feature DynamicActorIsolation:migrate \
1313
// RUN: -disable-upcoming-feature DynamicActorIsolation:invalid5 \
1414
// RUN: -disable-upcoming-feature DynamicActorIsolation:invalid6 \
15-
// RUN: -disable-upcoming-feature DynamicActorIsolation:adoption \
15+
// RUN: -disable-upcoming-feature DynamicActorIsolation:migrate \
1616
// RUN: -disable-experimental-feature DynamicActorIsolation:invalid7 \
1717
// RUN: -disable-experimental-feature DynamicActorIsolation:invalid8 \
18-
// RUN: -disable-experimental-feature DynamicActorIsolation:adoption \
18+
// RUN: -disable-experimental-feature DynamicActorIsolation:migrate \
1919
// RUN: %s 2>&1 | %FileCheck %s --check-prefix=CHECK-SWIFT-5
2020

2121
// RUN: %target-swift-frontend -parse -swift-version 6 \
2222
// RUN: -enable-upcoming-feature DynamicActorIsolation:invalid1 \
23-
// RUN: -enable-upcoming-feature DynamicActorIsolation:adoption \
23+
// RUN: -enable-upcoming-feature DynamicActorIsolation:migrate \
2424
// RUN: -enable-experimental-feature DynamicActorIsolation:invalid2 \
25-
// RUN: -enable-experimental-feature DynamicActorIsolation:adoption \
25+
// RUN: -enable-experimental-feature DynamicActorIsolation:migrate \
2626
// RUN: -disable-upcoming-feature DynamicActorIsolation:invalid3 \
27-
// RUN: -disable-upcoming-feature DynamicActorIsolation:adoption \
27+
// RUN: -disable-upcoming-feature DynamicActorIsolation:migrate \
2828
// RUN: -disable-experimental-feature DynamicActorIsolation:invalid4 \
29-
// RUN: -disable-experimental-feature DynamicActorIsolation:adoption \
29+
// RUN: -disable-experimental-feature DynamicActorIsolation:migrate \
3030
// RUN: %s 2>&1 | %FileCheck %s --check-prefix=CHECK-SWIFT-6
3131

3232
// REQUIRES: swift_feature_DynamicActorIsolation
3333

3434
// CHECK-NOT: error:
3535

3636
// CHECK-SWIFT-5-NOT: warning:
37-
// CHECK-SWIFT-5: warning: '-disable-experimental-feature' argument 'DynamicActorIsolation:adoption' cannot specify a mode [#StrictLanguageFeatures]{{$}}
37+
// CHECK-SWIFT-5: warning: '-disable-experimental-feature' argument 'DynamicActorIsolation:migrate' cannot specify a mode [#StrictLanguageFeatures]{{$}}
3838
// CHECK-SWIFT-5-NEXT: warning: '-disable-experimental-feature' argument 'DynamicActorIsolation:invalid8' cannot specify a mode [#StrictLanguageFeatures]{{$}}
3939
// CHECK-SWIFT-5-NEXT: warning: '-disable-experimental-feature' argument 'DynamicActorIsolation:invalid7' cannot specify a mode [#StrictLanguageFeatures]{{$}}
40-
// CHECK-SWIFT-5-NEXT: warning: '-disable-upcoming-feature' argument 'DynamicActorIsolation:adoption' cannot specify a mode [#StrictLanguageFeatures]{{$}}
40+
// CHECK-SWIFT-5-NEXT: warning: '-disable-upcoming-feature' argument 'DynamicActorIsolation:migrate' cannot specify a mode [#StrictLanguageFeatures]{{$}}
4141
// CHECK-SWIFT-5-NEXT: warning: '-disable-upcoming-feature' argument 'DynamicActorIsolation:invalid6' cannot specify a mode [#StrictLanguageFeatures]{{$}}
4242
// CHECK-SWIFT-5-NEXT: warning: '-disable-upcoming-feature' argument 'DynamicActorIsolation:invalid5' cannot specify a mode [#StrictLanguageFeatures]{{$}}
43-
// CHECK-SWIFT-5-NEXT: warning: feature 'DynamicActorIsolation' does not support adoption mode [#StrictLanguageFeatures]{{$}}
44-
// CHECK-SWIFT-5-NEXT: warning: feature 'DynamicActorIsolation' does not support adoption mode [#StrictLanguageFeatures]{{$}}
43+
// CHECK-SWIFT-5-NEXT: warning: feature 'DynamicActorIsolation' does not support migration mode [#StrictLanguageFeatures]{{$}}
44+
// CHECK-SWIFT-5-NEXT: warning: feature 'DynamicActorIsolation' does not support migration mode [#StrictLanguageFeatures]{{$}}
4545
// CHECK-SWIFT-5-NEXT: warning: 'invalid4' is not a recognized mode for feature 'DynamicActorIsolation' [#StrictLanguageFeatures]{{$}}
4646
// CHECK-SWIFT-5-NEXT: warning: 'invalid3' is not a recognized mode for feature 'DynamicActorIsolation' [#StrictLanguageFeatures]{{$}}
47-
// CHECK-SWIFT-5-NEXT: warning: feature 'DynamicActorIsolation' does not support adoption mode [#StrictLanguageFeatures]{{$}}
48-
// CHECK-SWIFT-5-NEXT: warning: feature 'DynamicActorIsolation' does not support adoption mode [#StrictLanguageFeatures]{{$}}
47+
// CHECK-SWIFT-5-NEXT: warning: feature 'DynamicActorIsolation' does not support migration mode [#StrictLanguageFeatures]{{$}}
48+
// CHECK-SWIFT-5-NEXT: warning: feature 'DynamicActorIsolation' does not support migration mode [#StrictLanguageFeatures]{{$}}
4949
// CHECK-SWIFT-5-NEXT: warning: 'invalid2' is not a recognized mode for feature 'DynamicActorIsolation' [#StrictLanguageFeatures]{{$}}
5050
// CHECK-SWIFT-5-NEXT: warning: 'invalid1' is not a recognized mode for feature 'DynamicActorIsolation' [#StrictLanguageFeatures]{{$}}
5151
// CHECK-SWIFT-5-NOT: warning:

0 commit comments

Comments
 (0)