Skip to content

0.536

Compare
Choose a tag to compare
@zeux zeux released this 14 Jul 23:03
· 564 commits to master since this release
5b2e39c

Analysis changes

  • Fix bugs in type normalization of self-recursive union types
  • Fix interaction between never types and operator type inference
  • Fix type widening for functions that return a union of singleton string types
  • string.match/string.find now return a more precise type if the match pattern is a string literal
  • Type checker now supports passing strings to functions that use a string-like API even if the argument types aren't annotated.

Runtime changes

  • Add support for --!optimize to be able to control optimization level from source
  • Compiler now replaces some calls to builtin functions with a constant if all arguments are known when using -O2
  • Compiler now recognizes builtin calls for the purpose of cost modeling, which improves inlining/unrolling of functions with builtin calls
  • lua_breakpoint can now place the breakpoint after the requested line at the earliest executable location; it returns the line where the breakpoint was placed, or -1 on error.
  • lua_Callbacks::useratom is now called lazily when the atom is requested via lua_tostringatom/lua_namecallatom, instead of eagerly during string construction.

Community contributions

  • Improve description of bit32.extract. by @Anaminus in #585
  • Add lua_setuserdatatag to update userdata tags by @khvzak in #588