Skip to content

Commit b93717c

Browse files
committed
RequirementMachine: Enable flags directly in LangOptions
This enables requirement machine minimization for all tools (SourceKit, etc) not just the frontend.
1 parent f2ce515 commit b93717c

File tree

3 files changed

+4
-8
lines changed

3 files changed

+4
-8
lines changed

include/swift/Basic/LangOptions.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -528,17 +528,17 @@ namespace swift {
528528
/// Enable the new experimental protocol requirement signature minimization
529529
/// algorithm.
530530
RequirementMachineMode RequirementMachineProtocolSignatures =
531-
RequirementMachineMode::Disabled;
531+
RequirementMachineMode::Verify;
532532

533533
/// Enable the new experimental generic signature minimization algorithm
534534
/// for abstract generic signatures.
535535
RequirementMachineMode RequirementMachineAbstractSignatures =
536-
RequirementMachineMode::Disabled;
536+
RequirementMachineMode::Verify;
537537

538538
/// Enable the new experimental generic signature minimization algorithm
539539
/// for user-written generic signatures.
540540
RequirementMachineMode RequirementMachineInferredSignatures =
541-
RequirementMachineMode::Disabled;
541+
RequirementMachineMode::Verify;
542542

543543
/// Disable preprocessing pass to eliminate conformance requirements
544544
/// on generic parameters which are made concrete. Usually you want this

lib/Frontend/CompilerInvocation.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -912,10 +912,6 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
912912
Opts.DisableSubstSILFunctionTypes =
913913
Args.hasArg(OPT_disable_subst_sil_function_types);
914914

915-
Opts.RequirementMachineProtocolSignatures = RequirementMachineMode::Verify;
916-
Opts.RequirementMachineInferredSignatures = RequirementMachineMode::Verify;
917-
Opts.RequirementMachineAbstractSignatures = RequirementMachineMode::Verify;
918-
919915
if (auto A = Args.getLastArg(OPT_requirement_machine_protocol_signatures_EQ)) {
920916
auto value = llvm::StringSwitch<Optional<RequirementMachineMode>>(A->getValue())
921917
.Case("off", RequirementMachineMode::Disabled)

test/IDE/print_ast_tc_decls.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1231,7 +1231,7 @@ extension GenericParams1 where StructGenericBaz: FooProtocol {
12311231
// PASS_PRINT_AST: static func contextualWhereClause2() where StructGenericBaz : FooClass{{$}}
12321232

12331233
typealias ContextualWhereClause3 = Never where StructGenericBaz: QuxProtocol, StructGenericBaz.Qux == Void
1234-
// PASS_PRINT_AST: typealias ContextualWhereClause3 = Never where StructGenericBaz : QuxProtocol, StructGenericBaz.Qux == Void{{$}}
1234+
// PASS_PRINT_AST: typealias ContextualWhereClause3 = Never where StructGenericBaz : QuxProtocol, StructGenericBaz.Qux == (){{$}}
12351235
}
12361236

12371237
struct GenericParams2<T : FooProtocol> where T : BarProtocol {}

0 commit comments

Comments
 (0)