Skip to content

0.622

Compare
Choose a tag to compare
@github-actions github-actions released this 19 Apr 21:53
68bd1b2

What's changed?

  • Improved the actual message for the type errors for cannot call non-function when attempting to call a union of functions/callable tables. The error now correctly explains the issue is an inability to determine the return type of the call in this situation.
  • Resolve an issue where tables and metatables were not correctly being cloned during instantiation (fixes #1176).
  • Refactor luaM_getnextgcopage to luaM_getnextpage (generally removing gco prefix where appropriate).
  • Optimize table.move between tables for large ranges of elements.
  • Reformat a bunch of code automatically using clang-format.

New Type Solver

  • Clean up minimally-used or unused constraints in the constraint solver (InstantiationConstraint, SetOpConstraint, SingletonOrTopTypeConstraint).
  • Add a builtin singleton type family to replace SingletonOrTopTypeConstraint when inferring refinements.
  • Fixed a crash involving type path reasoning by recording when type family reduction has taken place in the path.
  • Improved constraint ordering by blocking on unreduced types families that are not yet proven uninhabitable.
  • Improved the handling of SetIndexerConstraints for both better inference quality and to resolve crashes.
  • Fix a crash when normalizing cyclic unions of intersections.
  • Fix a crash when normalizing an intersection with the negation of unknown.
  • Fix a number of crashes caused by missing follow calls on TypeIds.
  • Changed type family reduction to correctly use a semantic notion of uninhabited types, rather than checking for never types specifically.
  • Refactor the union and intersect type families to be variadic.

Native Code Generation

  • Improve translation for userdata key get/set and userdata/vector namecall.
  • Provide [top level] and [anonymous] as function names to FunctionStats as appropriate when no function name is available.
  • Disable unwind support on Android platforms since it is unsupported.

Internal Contributors

Co-authored-by: Aaron Weiss aaronweiss@roblox.com
Co-authored-by: Alexander McCord amccord@roblox.com
Co-authored-by: Andy Friesen afriesen@roblox.com
Co-authored-by: Aviral Goel agoel@roblox.com
Co-authored-by: Vighnesh Vijay vvijay@roblox.com
Co-authored-by: Vyacheslav Egorov vegorov@roblox.com