8000 Release 0.674 Β· luau-lang/luau Β· GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

0.674

Compare
Choose a tag to compare
@github-actions github-actions released this 16 May 20:11
92cce57

General

  • Expose an optional get_alias API as an alternative to get_config in Luau.Require and Luau.RequireNavigator.
  • Improve the Luau CLI's virtual filesystem implementation to fix bugs related to init.luau. Fixes #1816

New Type Solver

  • Avoid double reporting errors when erroneous arguments are provided to type functions.
  • Fix some instances of unresovable cyclic type functions in loops by only considering the first loop cycles. This results in some type inference inaccuracies when the type of a variable in loop through multiple iterations. Fixes #1413.
  • Better generalize free types that have meaningful lower and upper bounds, especially for table indexers.
  • Report more specific errors when assigning or returning table literal types, instead of citing the entire table type.
  • Inference for functions with generic type packs is greatly improved.
  • Fix some internal compiler exceptions when using type-stating functions like table.freeze in if _ then _ else _ expressions and short circuiting binary operations.
  • More consistently simplify unions of primitive types, especially in array-like and dictionary-like tables.
  • Fix a crash when type checking an erroneous type alias containing typeof with a type assertion expression, as in:
    type MyTable = {}
    -- This will error at type checking time as it's a duplicate
    type MyTable = typeof(setmetatable(SomeTable :: {}, SomeMetaTable));
    
  • Fix a crash when inferring the type of an index expression where the indexee is invalid (e.g. nil).

Runtime

  • Avoid throwing an exception from luau_load if we run out of memory.
  • Type functions are no longer compiled and included in bytecode. Fixes #1817.
  • Fix some instances of Luau C API functions reading invalid debug information (generally when the first or last instruction of a block was being inspected). Fixes #1369.
  • Avoid potential signed integer overflow when doing bounds checks on tables.
  • Support 16 byte aligned userdata objects when system allocation alignment is also 16 bytes.
  • Fix memory leaks in Luau.Require when using VM build with no exceptions. Fixes #1827.

Internal Contributors

Co-authored-by: Andy Friesen afriesen@roblox.com
Co-authored-by: Ariel Weiss aaronweiss@roblox.com
Co-authored-by: Hunter Goldstein hgoldstein@roblox.com
Co-authored-by: James McNellis jmcnellis@roblox.com
Co-authored-by: Sora Kanosue skanosue@roblox.com
Co-authored-by: Talha Pathan tpathan@roblox.com
Co-authored-by: Varun Saini vsaini@roblox.com
Co-authored-by: Vyacheslav Egorov vegorov@roblox.com

0