Skip to content

0.591

Compare
Choose a tag to compare
@github-actions github-actions released this 18 Aug 18:25
e25b0a6

What's Changed

  • LinterConfig.h: add missing stdint.h include by @xgqt in #1010
  • Fix a use-after-free bug in the new type cloning algorithm
  • Tighten up the type of coroutine.wrap. It is now <A..., R...>(f: (A...) -> R...) -> ((A...) -> R...)
  • Break .luaurc out into a separate library target Luau.Config. This makes it easier for applications to reason about config files without also depending on the type inference engine.
  • Move typechecking limits into FrontendOptions. This allows embedders more finely-grained control over autocomplete's internal time limits.
  • Fix a stability issue with debugger debugprotectederror callback allowing break in non-yieldable contexts

New Type Solver

  • Initial work toward Local Type Inference
  • Introduce a new subtyping test. This will be much nicer than the old test because it is completely separate both from actual type inference and from error reporting.

Native Code Generation

  • Added function to compute iterated dominance frontier
  • Optimize barriers in SET_UPVALUE when tag is known
  • Cache lua_State::global in a register on A64
  • Optimize constant stores in A64 lowering
  • Track table array size state to optimize array size checks
  • Add split tag/value store into a VM register
  • Check that spills can outlive the block only in specific conditions

New Contributors

Full Changelog: 0.590...0.591