Tags: Malte0621/luau
Tags
Sync to upstream/release/565 (luau-lang#845) We've made a few small changes to reduce the amount of stack we use when typechecking nested method calls (eg `foo:bar():baz():quux()`). We've also fixed a small bytecode compiler issue that caused us to emit redundant jump instructions in code that conditionally uses `break` or `continue`. On the new solver, we've switched to a new, better way to handle augmentations to unsealed tables. We've also made some substantial improvements to type inference and error reporting on function calls. These things should both be on par with the old solver now. The main improvements to the native code generator have been elimination of some redundant type tag checks. Also, we are starting to inline particular fastcalls directly to IR. --------- Co-authored-by: Arseny Kapoulkine <[email protected]> Co-authored-by: Vyacheslav Egorov <[email protected]>
Sync to upstream/release/564 (luau-lang#841) This week we only have updates to new type solver and JIT. Both projects are still in the process of being built out. Neither are ready for general use yet. In the new solver, we fixed issues with recursive type aliases. Duplicated type parameters are once again reported, exported types are being recorder and function argument names are placed inside function types. We also made improvements to restore parts of bidirectional type tracking. On native code generation side, namecall instruction lowering was fixed, we fixed inconsistencies in IR command definitions and added utility function to help with constant folding.
Sync to upstream/release/563 (luau-lang#833) * Fix a bug where reading a property from an unsealed table caused inference to improperly infer the existence of that property. * Fix luau-lang#827 We have also made a lot of progress on the new solver and the JIT. Both projects are still in the process of being built out. Neither are ready for general use yet. We are mostly working to tighten up how the new solver handles refinements and updates to unsealed tables to bring it up to the same level as the old solver. --------- Co-authored-by: Arseny Kapoulkine <[email protected]> Co-authored-by: Vyacheslav Egorov <[email protected]>
News about string interpolation feature and a syntax page update (lua… …u-lang#829) News can be viewed [here](https://vegorov-rbx.github.io/luau/2023/02/02/luau-string-interpolation.html) And syntax can be viewed [here](https://vegorov-rbx.github.io/luau/syntax#string-interpolation) Note that link appears to be broken in the news section. It goes to `https://vegorov-rbx.github.io/syntax#string-interpolation` instead of `https://vegorov-rbx.github.io/luau/syntax#string-interpolation` The link I use in the source is `/syntax#string-interpolation` but the root 'offset' is different on Luau website (doesn't have extra 'luau' folder) and on my GitHub pages. Hope this is ok. But if GitHub page masters know how to avoid this, please let me know. --------- Co-authored-by: Alan Jeffrey <[email protected]> Co-authored-by: Alexander McCord <[email protected]>
Sync to upstream/release/561 (luau-lang#820) * Fix a potential debugger crash by adding checks for invalid stack index values --------- Co-authored-by: Arseny Kapoulkine <[email protected]> Co-authored-by: Vyacheslav Egorov <[email protected]>
Sync to upstream/release/560 (luau-lang#810) * For autocomplete, additional information is included in Scope for type alias name locations and names of imported modules * Improved autocomplete suggestions in 'for' and 'while' loop headers * String match functions return types are now optional strings and numbers because match is not guaranteed at runtime * Fixed build issue on gcc 11 and up (Fixes luau-lang#806)
Sync to upstream/release/559 (luau-lang#804) * Fix autocompletion of if-then-else expressions * Fix a potential crash surrounding improper use of `%*` in a string format specifier * All Python scripts now invoke Python via `python3` rather than `python`. * Improved error handling for string interpolation with too many arguments. Co-authored-by: Arseny Kapoulkine <[email protected]> Co-authored-by: Vyacheslav Egorov <[email protected]>
Sync to upstream/release/558 (luau-lang#796) * Fixed garbage data in module scopes when type graph is not retained * LOP_MOVE with the same source and target registers is no longer generated (Fixes luau-lang#793)
Sync to upstream/release/557 (luau-lang#794) * Fixed unions of `nil` types displaying as `?` * Internal normalization now handles class types which can make previously failing (incorrectly) sub-typing checks to succeed
Sync to upstream/release/556 (luau-lang#782) * The AST JSON encoder will now stringify infinity and NaN according to the JSON5 spec using the tokens `Infinity`, `-Infinity`, and `NaN`. * Improve autocompletion of table keys if the type of that key is a union of string singletons.
PreviousNext