Quick round of whack-a-mole

This commit is contained in:
Hunter Goldstein 2025-04-14 16:13:51 -07:00
parent 2382ff2ae3
commit ad20b41598
2 changed files with 7 additions and 3 deletions

View file

@ -21,6 +21,7 @@ LUAU_FASTFLAG(LuauSubtypingStopAtNormFail)
LUAU_FASTFLAG(LuauNormalizationCatchMetatableCycles) LUAU_FASTFLAG(LuauNormalizationCatchMetatableCycles)
LUAU_FASTFLAG(LuauSubtypingEnableReasoningLimit) LUAU_FASTFLAG(LuauSubtypingEnableReasoningLimit)
LUAU_FASTFLAG(LuauTypePackDetectCycles) LUAU_FASTFLAG(LuauTypePackDetectCycles)
LUAU_FASTFLAG(LuauNonreentrantGeneralization)
using namespace Luau; using namespace Luau;
@ -1219,6 +1220,7 @@ TEST_CASE_FIXTURE(BuiltinsFixture, "fuzz_propagate_normalization_failures")
ScopedFastFlag luauNormalizeLimitFunctionSet{FFlag::LuauNormalizeLimitFunctionSet, true}; ScopedFastFlag luauNormalizeLimitFunctionSet{FFlag::LuauNormalizeLimitFunctionSet, true};
ScopedFastFlag luauSubtypingStopAtNormFail{FFlag::LuauSubtypingStopAtNormFail, true}; ScopedFastFlag luauSubtypingStopAtNormFail{FFlag::LuauSubtypingStopAtNormFail, true};
ScopedFastFlag luauSubtypingEnableReasoningLimit{FFlag::LuauSubtypingEnableReasoningLimit, true}; ScopedFastFlag luauSubtypingEnableReasoningLimit{FFlag::LuauSubtypingEnableReasoningLimit, true};
ScopedFastFlag luauTurnOffNonreentrantGeneralization{FFlag::LuauNonReentrantGeneralization, false};
CheckResult result = check(R"( CheckResult result = check(R"(
function _(_,"").readu32(l0) function _(_,"").readu32(l0)

View file

@ -34,6 +34,7 @@ LUAU_FASTFLAG(LuauTypeCheckerAcceptNumberConcats)
LUAU_FASTFLAG(LuauPreprocessTypestatedArgument) LUAU_FASTFLAG(LuauPreprocessTypestatedArgument)
LUAU_FASTFLAG(LuauCacheInferencePerAstExpr) LUAU_FASTFLAG(LuauCacheInferencePerAstExpr)
LUAU_FASTFLAG(LuauMagicFreezeCheckBlocked) LUAU_FASTFLAG(LuauMagicFreezeCheckBlocked)
LUAU_FASTFLAG(LuauNonReentrantGeneralization)
using namespace Luau; using namespace Luau;
@ -433,14 +434,15 @@ TEST_CASE_FIXTURE(Fixture, "check_block_recursion_limit")
TEST_CASE_FIXTURE(Fixture, "check_expr_recursion_limit") TEST_CASE_FIXTURE(Fixture, "check_expr_recursion_limit")
{ {
#if defined(LUAU_ENABLE_ASAN) #if defined(LUAU_ENABLE_ASAN)
int limit = 250; int limit = 200;
#elif defined(_DEBUG) || defined(_NOOPT) #elif defined(_DEBUG) || defined(_NOOPT)
int limit = 300; int limit = 250;
#else #else
int limit = 600; int limit = 500;
#endif #endif
ScopedFastInt luauRecursionLimit{FInt::LuauRecursionLimit, limit + 100}; ScopedFastInt luauRecursionLimit{FInt::LuauRecursionLimit, limit + 100};
ScopedFastInt luauCheckRecursionLimit{FInt::LuauCheckRecursionLimit, limit - 100}; ScopedFastInt luauCheckRecursionLimit{FInt::LuauCheckRecursionLimit, limit - 100};
ScopedFastFlag _{FFlag::LuauNonReentrantGeneralization, false};
CheckResult result = check(R"(("foo"))" + rep(":lower()", limit)); CheckResult result = check(R"(("foo"))" + rep(":lower()", limit));