Skip to content

0.655

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 13 Dec 21:27
2e6fdd9

What's Changed

New Solver

  • Type functions should be able to signal whether or not irreducibility is due to an error
  • Do not generate extra expansion constraint for uninvoked user-defined type functions
  • Print in a user-defined type function reports as an error instead of logging to stdout
  • Many e-graphs bugfixes and performance improvements
  • Many general bugfixes and improvements to the new solver as a whole
  • Fixed issue with used-defined type functions not being able to call each other
  • Infer types of globals under new type solver

Fragment Autocomplete

  • Miscellaneous fixes to make interop with the old solver better

Runtime

  • Support disabling specific built-in functions from being fast-called or constant-evaluated (Closes #1538)
    • New compiler option disabledBuiltins accepts a list of library function names like "tonumber" or "math.cos"
  • Added constant folding for vector arithmetic
  • Added constant propagation and type inference for vector globals (Fixes #1511)
    • New compiler option librariesWithKnownMembers accepts a list of libraries for members of which a request for constant value and/or type will be made
    • libraryMemberTypeCb callback is called to get the type of a global, return one of the LuauBytecodeType values. 'boolean', 'number', 'string' and 'vector' type are supported.
    • libraryMemberConstantCb callback is called to setup the constant value of a global. To set a value, C API luau_set_compile_constant_* or C++ API setCompileConstant* functions should be used.

New Contributors

Full Changelog: 0.654...0.655

What's changed


Co-authored-by: Aaron Weiss [email protected]
Co-authored-by: Andy Friesen [email protected]
Co-authored-by: Aviral Goel [email protected]
Co-authored-by: Daniel Angel [email protected]
Co-authored-by: Jonathan Kelaty [email protected]
Co-authored-by: Hunter Goldstein [email protected]
Co-authored-by: Varun Saini [email protected]
Co-authored-by: Vighnesh Vijay [email protected]
Co-authored-by: Vyacheslav Egorov [email protected]