Commit graph

40 commits

Author SHA1 Message Date
Aviral Goel
230ab81326 Sync to upstream/release/654
* Luau: support dead store elimination for STORE_VECTOR instruction
* Fixed hang when Luau class declaration props are incorrectly separated
* Provide properties and a metatable for Luau built-in vector type
* Pick the correct global scope based on the solver
* Conversational AI gets all required scripts as context
* Clip LuauRequireCyclesDontAlwaysReturnAny
* Fix Parentheses in Fragment Autocomplete
* Remove write-only locals in `Luau::getDocumentOffsets`
* The lexer can resume parsing from any arbitrary position
* Added support for 'thread' and 'buffer' primitive types in Luau user-defined type functions

---------

Co-authored-by: Andrew Miranti <amiranti@roblox.com>
Co-authored-by: Andy Friesen <afriesen@roblox.com>
Co-authored-by: Hunter Goldstein <hgoldstein@roblox.com>
Co-authored-by: Shiqi Ai <sai@roblox.com>
Co-authored-by: Vighnesh Vijay <vvijay@roblox.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
Co-authored-by: Yohoo Lin <yohoo@roblox.com>
2024-12-02 15:02:24 -08:00
Hunter Goldstein
c799a548e4 Sync to version/652
> What's new?

* Fragment Autocomplete: a new API allows for type checking a small
  fragment of code against an existing file, significantly speeding up
  autocomplete performance in large files.

> New Solver

* E-Graphs have landed: this is an ongoing approach to make the new type solver
  simplify types in a more consistent and principled manner, based on
  similar work (e.g.: https://egraphs-good.github.io/).
* Adds support for exported / local user type functions.
* Fixes a set of bugs in which the new solver will fail to complete
  inference for simple expressions with just literals and operators.

> General

* It is now an explicit runtime error to `require` a path with a ".lua" or
  ".luau" extension, and the error message will suggest removing the extension.
  ```
  require("path/to/mymodule.lua")
  ```
* Fixes a bug in which whether two `Symbol`s are equal depends on
  whether the new solver is enabled.
2024-11-08 11:01:20 -08:00
Andy Friesen
ee5b473b86 Sync to upstream/release/650 2024-11-01 09:47:10 -07:00
Aaron Weiss
1de169f006 Sync to upstream/release/649 2024-10-25 09:46:08 -07:00
Andy Friesen
8531df04c9 Sync to upstream/release/646 2024-10-04 09:42:22 -07:00
Aaron Weiss
7a7521a7ab Sync to upstream/release/645 2024-09-27 10:11:46 -07:00
Aaron Weiss
a74031bae7 Sync release to upstream/release/641 2024-08-30 12:28:44 -07:00
Vighnesh
497c3edb91 Sync to upstream/release/639 2024-08-16 09:48:02 -07:00
Junseo Yoo
7dd10b16dc Sync to upstream/release/636 2024-07-25 17:10:42 -07:00
Vighnesh
c730a51ca8 Sync to upstream/release/620 2024-04-05 10:41:05 -07:00
Vighnesh
22686ef1b0 Sync to upstream/release/614 2024-02-23 10:40:00 -08:00
Vighnesh
557e77a676 VM
- Add SUBRK and DIVRK bytecode instructions
    - Enables future performance optimizations

Miscellaneous
- Small performance improvements to new non-strict mode
- Introduce more scripts for fuzzing
- Improcements to dataflow analysis
2023-12-01 18:04:44 -08:00
Andy Friesen
674c6c40c0 Sync to upstream/release/604 2023-11-17 10:15:31 -08:00
Lily Brown
34efdb3b0a Sync to upstream/release/599 2023-10-13 12:38:31 -07:00
Alexander McCord
3bfc864280 Sync to upstream/release/597 2023-09-29 17:22:06 -07:00
Lily Brown
397dbb1188 Sync to upstream/release/593 2023-09-01 09:38:53 -07:00
Vyacheslav Egorov
089da9e924 Sync to upstream/release/590 2023-08-11 15:55:30 +03:00
Vyacheslav Egorov
8bc2f51d89 Sync to upstream/release/582 2023-06-24 08:33:44 +03:00
Andy Friesen
d5cdb687e0 Sync to upstream/release/573 2023-04-21 14:41:03 -07:00
Vyacheslav Egorov
e280064f45 Sync to upstream/release/568 2023-03-17 16:59:30 +02:00
Andy Friesen
4653484913 Sync to upstream/release/567 2023-03-10 11:20:04 -08:00
Vyacheslav Egorov
eec289ad1b Sync to upstream/release/560 2023-01-20 14:02:39 +02:00
Vyacheslav Egorov
9958d23caa Sync to upstream/release/557 2023-01-03 19:33:19 +02:00
Vyacheslav Egorov
fc459699da Sync to upstream/release/555 2022-12-02 12:46:05 +02:00
Andy Friesen
e3fdab3082 Sync to upstream/release/552 2022-11-04 10:02:37 -07:00
Vyacheslav Egorov
99c0db3b08 Sync to upstream/release/551 2022-10-28 01:22:49 +03:00
Vyacheslav Egorov
d82e73607c Sync to upstream/release/549 2022-10-14 01:59:53 +03:00
Arseny Kapoulkine
91e144ac1b Sync to upstream/release/548 2022-10-06 16:55:58 -07:00
Arseny Kapoulkine
c6ac06e656 Sync to upstream/release/543 2022-09-01 16:00:14 -07:00
Arseny Kapoulkine
b3e6dcecfd Sync to upstream/release/541 2022-08-18 14:04:33 -07:00
Arseny Kapoulkine
106b269885 Sync to upstream/release/540 2022-08-11 13:42:54 -07:00
Arseny Kapoulkine
3202869acc Sync to upstream/release/538 2022-07-28 20:41:13 -07:00
Arseny Kapoulkine
4a95f2201e Sync to upstream/release/535 2022-07-07 18:05:31 -07:00
Arseny Kapoulkine
6d14bdadf4 Sync to upstream/release/533 2022-06-23 18:44:07 -07:00
Rob Blanckaert
c4e05eb7c1 Sync to upstream/release/529 2022-05-26 13:33:48 -07:00
Arseny Kapoulkine
298b33859b Sync to upstream/release/527 2022-05-13 12:16:50 -07:00
Arseny Kapoulkine
bb57bf9603 Sync to upstream/release/526 2022-05-05 16:52:48 -07:00
Arseny Kapoulkine
f2677f6975 Sync to upstream/release/524 2022-04-21 14:04:22 -07:00
Arseny Kapoulkine
373da161e9 Sync to upstream/release/520 2022-03-24 14:49:08 -07:00
Arseny Kapoulkine
adecd84067 Sync to upstream/release/519 2022-03-17 17:06:25 -07:00