Skip to content

Commit d110c81

Browse files
authored
Disable LuauNonReentrantGeneralization for some tests (#1775)
For now, this flag causes a stack overflow for some tests on Windows: we end up minting a massive recursive intersection during generalization. Let's flip it off until a fix arrives.
1 parent b645780 commit d110c81

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

tests/Linter.test.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
LUAU_FASTFLAG(LuauSolverV2);
1111
LUAU_FASTFLAG(LintRedundantNativeAttribute);
1212
LUAU_FASTFLAG(LuauDeprecatedAttribute);
13+
LUAU_FASTFLAG(LuauNonReentrantGeneralization);
1314

1415
using namespace Luau;
1516

@@ -1923,6 +1924,9 @@ print(foo:bar(2.0))
19231924

19241925
TEST_CASE_FIXTURE(BuiltinsFixture, "TableOperations")
19251926
{
1927+
// FIXME: For now this flag causes a stack overflow on Windows.
1928+
ScopedFastFlag _{FFlag::LuauNonReentrantGeneralization, false};
1929+
19261930
LintResult result = lint(R"(
19271931
local t = {}
19281932
local tt = {}

tests/Normalize.test.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ LUAU_FASTFLAG(LuauSubtypingStopAtNormFail)
2121
LUAU_FASTFLAG(LuauNormalizationCatchMetatableCycles)
2222
LUAU_FASTFLAG(LuauSubtypingEnableReasoningLimit)
2323
LUAU_FASTFLAG(LuauTypePackDetectCycles)
24+
LUAU_FASTFLAG(LuauNonReentrantGeneralization)
2425

2526
using namespace Luau;
2627

@@ -1219,6 +1220,7 @@ TEST_CASE_FIXTURE(BuiltinsFixture, "fuzz_propagate_normalization_failures")
12191220
ScopedFastFlag luauNormalizeLimitFunctionSet{FFlag::LuauNormalizeLimitFunctionSet, true};
12201221
ScopedFastFlag luauSubtypingStopAtNormFail{FFlag::LuauSubtypingStopAtNormFail, true};
12211222
ScopedFastFlag luauSubtypingEnableReasoningLimit{FFlag::LuauSubtypingEnableReasoningLimit, true};
1223+
ScopedFastFlag luauTurnOffNonreentrantGeneralization{FFlag::LuauNonReentrantGeneralization, false};
12221224

12231225
CheckResult result = check(R"(
12241226
function _(_,"").readu32(l0)

tests/TypeInfer.test.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ LUAU_FASTFLAG(LuauTypeCheckerAcceptNumberConcats)
3434
LUAU_FASTFLAG(LuauPreprocessTypestatedArgument)
3535
LUAU_FASTFLAG(LuauCacheInferencePerAstExpr)
3636
LUAU_FASTFLAG(LuauMagicFreezeCheckBlocked)
37+
LUAU_FASTFLAG(LuauNonReentrantGeneralization)
3738

3839
using namespace Luau;
3940

@@ -433,14 +434,15 @@ TEST_CASE_FIXTURE(Fixture, "check_block_recursion_limit")
433434
TEST_CASE_FIXTURE(Fixture, "check_expr_recursion_limit")
434435
{
435436
#if defined(LUAU_ENABLE_ASAN)
436-
int limit = 250;
437+
int limit = 200;
437438
#elif defined(_DEBUG) || defined(_NOOPT)
438-
int limit = 300;
439+
int limit = 250;
439440
#else
440-
int limit = 600;
441+
int limit = 500;
441442
#endif
442443
ScopedFastInt luauRecursionLimit{FInt::LuauRecursionLimit, limit + 100};
443444
ScopedFastInt luauCheckRecursionLimit{FInt::LuauCheckRecursionLimit, limit - 100};
445+
ScopedFastFlag _{FFlag::LuauNonReentrantGeneralization, false};
444446

445447
CheckResult result = check(R"(("foo"))" + rep(":lower()", limit));
446448

0 commit comments

Comments
 (0)