diff --git a/include/swift/AST/InFlightSubstitution.h b/include/swift/AST/InFlightSubstitution.h index 6e497b2c51afc..e4bd9cc0b1104 100644 --- a/include/swift/AST/InFlightSubstitution.h +++ b/include/swift/AST/InFlightSubstitution.h @@ -35,9 +35,9 @@ class InFlightSubstitution { LookupConformanceFn BaselineLookupConformance; SubstOptions Options; RecursiveTypeProperties Props; - unsigned RemainingCount : 15; + unsigned RemainingCount : 31; unsigned InitLimit : 1; - unsigned RemainingDepth : 15; + unsigned RemainingDepth : 31; unsigned LimitReached : 1; struct ActivePackExpansion { diff --git a/include/swift/Basic/LangOptions.h b/include/swift/Basic/LangOptions.h index d1bc0292821f0..3e807661d38fe 100644 --- a/include/swift/Basic/LangOptions.h +++ b/include/swift/Basic/LangOptions.h @@ -615,11 +615,11 @@ namespace swift { /// Maximum nesting depth for type substitution operations, to prevent /// runaway recursion. - unsigned MaxSubstitutionDepth = 1000; + unsigned MaxSubstitutionDepth = 500; /// Maximum step count for type substitution operations, to prevent /// runaway recursion. - unsigned MaxSubstitutionCount = 32000; + unsigned MaxSubstitutionCount = 120000; /// Enable implicit lifetime dependence for ~Escapable return types. bool EnableExperimentalLifetimeDependenceInference = false;