Skip to content

Commit 11a0277

Browse files
committed
Add frontend flag -enable-experimental-opaque-parameters
1 parent 0416ec7 commit 11a0277

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

include/swift/Basic/LangOptions.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,10 @@ namespace swift {
313313
/// `func f() -> <T> T`.
314314
bool EnableExperimentalNamedOpaqueTypes = false;
315315

316+
/// Enable experimental support for opaque parameter types, e.g.
317+
/// `func f(collection: some Collection)`.
318+
bool EnableExperimentalOpaqueParameters = false;
319+
316320
/// Enable support for explicit existential types via the \c any
317321
/// keyword.
318322
bool EnableExplicitExistentialTypes = true;

include/swift/Option/FrontendOptions.td

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,10 @@ def enable_experimental_named_opaque_types :
502502
Flag<["-"], "enable-experimental-named-opaque-types">,
503503
HelpText<"Enable experimental support for named opaque result types">;
504504

505+
def enable_experimental_opaque_parameters :
506+
Flag<["-"], "enable-experimental-opaque-parameters">,
507+
HelpText<"Enable experimental support for opaque parameters">;
508+
505509
def enable_explicit_existential_types :
506510
Flag<["-"], "enable-explicit-existential-types">,
507511
HelpText<"Enable experimental support for explicit existential types">;

lib/Frontend/CompilerInvocation.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,9 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
445445
Opts.EnableExperimentalNamedOpaqueTypes |=
446446
Args.hasArg(OPT_enable_experimental_named_opaque_types);
447447

448+
Opts.EnableExperimentalOpaqueParameters |=
449+
Args.hasArg(OPT_enable_experimental_opaque_parameters);
450+
448451
Opts.EnableExplicitExistentialTypes |=
449452
Args.hasArg(OPT_enable_explicit_existential_types);
450453

0 commit comments

Comments
 (0)