diff --git a/include/swift/Basic/Features.def b/include/swift/Basic/Features.def index e042b97949a74..e5abf45d114dc 100644 --- a/include/swift/Basic/Features.def +++ b/include/swift/Basic/Features.def @@ -48,6 +48,7 @@ LANGUAGE_FEATURE(BuiltinExecutor, 0, "Builtin.Executor type", true) LANGUAGE_FEATURE(BuiltinContinuation, 0, "Continuation builtins", true) LANGUAGE_FEATURE(BuiltinTaskGroup, 0, "TaskGroup builtins", true) LANGUAGE_FEATURE(InheritActorContext, 0, "@_inheritActorContext attribute", true) +LANGUAGE_FEATURE(ImplicitSelfCapture, 0, "@_implicitSelfCapture attribute", true) LANGUAGE_FEATURE(BuiltinBuildExecutor, 0, "Executor-building builtins", true) #undef LANGUAGE_FEATURE diff --git a/lib/AST/ASTPrinter.cpp b/lib/AST/ASTPrinter.cpp index 44f3339e4e59e..48c475642e06e 100644 --- a/lib/AST/ASTPrinter.cpp +++ b/lib/AST/ASTPrinter.cpp @@ -2776,6 +2776,17 @@ static bool usesFeatureInheritActorContext(Decl *decl) { return false; } +static bool usesFeatureImplicitSelfCapture(Decl *decl) { + if (auto func = dyn_cast(decl)) { + for (auto param : *func->getParameters()) { + if (param->getAttrs().hasAttribute()) + return true; + } + } + + return false; +} + /// Determine the set of "new" features used on a given declaration. /// /// Note: right now, all features we check for are "new". At some point, we'll