Merged
Conversation
Note: Fixed conflicts by hand in: - Analysis/src/ConstraintGenerator.cpp - CodeGen/src/OptimizeConstProp.cpp - VM/src/lmathlib.cpp - tests/Conformance.test.cpp
a03c92095f6 #unflagged CLI-141149 Added lua_clonetable (#97902) d66c43f36aa #flagged CLI-140903: Do not crash on duplicate keys in table literals (#97833) 8a2687f1690 #nonprod Luau: fix a test configuration issue breaking OSS CI. (#97878) 7add6d9dde9 #nojira CI-debugger revert #unflagged CLI-132461 Luau: refactor subtyping to also include the generic mapping it came up with. (#97872) 0c731fd3cc4 #flag-removal Clip `LuauNewSolverVisitErrorExprLvalues` (#96942) 2fe783b9615 #unflagged CLI-132461 Luau: refactor subtyping to also include the generic mapping it came up with. (#97803) 0cc41a0afae #unflagged CLI-141053 Luau buffer readbits/writebits implementation for big endian machines (#97826) ae50bf04f99 #nonprod CLI-140027 Simplify require-by-string path resolution, fix bug when running CLI tools on unprefixed path (#97468) 77004599a6f #flag-removal Cleanup Luau VM and Compiler flags (#97799) 86777e269dd #flag-removal Remove LuauUserTypeFunPrintToError, LuauUserTypeFunNoExtraConstraint, LuauUserTypeFunUpdateAllEnvs, LuauUserTypeFunThreadBuffer and LuauUserTypeFunExportedAndLocal (#97624) 349b133fdc4 #nojira CI-debugger revert #unflagged CLI-132461 Luau: refactor subtyping to also include the generic mapping it came up with. (#97759) 2e820646ffa #flagged CLI-139615: Treat user defined type functions as opaque in eqSatSimplify (#96897) c0845205e37 #flag-removal CLI-140688 Clean up `FFlagLuauIntersectNormalsNeedsToTrackResourceLimits` as `true`. (#97719) 3e07876a043 #flagged CLI-140571: Track interior free table types generated during constraint solving (#97498) 199b558dc36 #unflagged CLI-132461 Luau: refactor subtyping to also include the generic mapping it came up with. (#95646) fd9255f62d3 #nonprod CLI-140762 unittest for fragment ac crash (#97669) e9c710e017f #flag-removal FFlagLuauStoreCommentsForDefinitionFiles (#93359) b184b940d55 CLI-140702 #unflagged Fix most clang-tidy warnings in TypeChecker2 (#97604) 1fc857f1bb3 CLI-140489 #unflagged Fix a potential hash collision bug in StringCache. (#97539) 58f62f900a2 #nonprod Some new unit testing macros for Luau tests. (#97336) ab43a354b25 #flag-removal Remove LuauVectorMetatable and LuauVectorDefinitionsExtra (#97528) c4c28694390 #flagged CLI-140485 Do not retain the Def/RefinementKey arenas when retainFullTypeGraphs is false (#97422)
This test fails due to a bad interaction when `FFlagLuauStoreCSTData` is enabled, whilst `FFlagLexerFixInterpStringStart` is disabled. The OSS test suite, when run with `--fflags=true`, enables all flags starting with a `Luau` prefix, but does not enable any other flag. To resolve this, we explicitly enable both fflags for the failing interpolated string test cases. As a consequence, we technically lose the check that these tests pass when all flags are disabled.
Three tests have been disabled: 1. `fuzz_propagate_normalization_failures` has been disabled because it fails on 32 bit Windows machines. It probably uses a lot of memory and can be fixed by supplying smaller limits in integer flags. 2. `TypeCorrectLocalReturn_assert` and `TypeCorrectLocalRank_assert` have been disabled because of ASAN failures on Ubuntu. We will provide fixes in the following releases.
aatxe
approved these changes
Apr 11, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We have lots of new changes for you!
What's Changed
General
Require-by-String
This release introduces the
Luau.Requirelibrary, which exposes the runtime semantics of require-by-string, including support for the new@selfalias described in this RFC.The library operates on a virtualized filesystem, allowing consumers to specify navigation rules without assuming a filesystem context. Documentation in
Require.hexplains how to enable the library, and thesetupStatefunction in Repl.cpp demonstrates how we've integrated it into the luau CLI tool. Note that the interface inRequire.his written in C, which enables any application written in a language with a C foreign-function interface to link against this library and enable require-by-string. This makes it straightforward for any application embedding Luau to support require-by-string, provided that it defines or operates within an environment resembling a virtual filesystem.The core navigation semantics of require-by-string have additionally been pulled into the
Luau.RequireNavigatorlibrary. WhileLuau.Requireinternally depends onLuau.RequireNavigator, the latter does not depend on the Luau VM. This library provides an interface for inspecting require-by-string's navigation behavior and therefore serves as a useful dependency for static tooling. Documentation forLuau.RequireNavigatoris available inRequireNavigator.h.Autocomplete
New Solver And Old Solver
InternalCompileErrorinstead.table.freezenot accounting for the first argument not getting type stated. We fall back to regular inference instead.length_error.Internal Contributors
Co-authored-by: Andy Friesen afriesen@roblox.com
Co-authored-by: Hunter Goldstein hgoldstein@roblox.com
Co-authored-by: Talha Pathan tpathan@roblox.com
Co-authored-by: Varun Saini vsaini@roblox.com
Co-authored-by: Vighnesh Vijay vvijay@roblox.com
Co-authored-by: Vyacheslav Egorov vegorov@roblox.com
Full Changelog: 0.668...0.669