Commit graph

470 commits

Author SHA1 Message Date
Daniel Nachun
9619f036ac
fix build with newer GCC (#522) 2022-06-06 15:52:55 -07:00
rblanckaert
55a026811a
Sync to upstream/release/530 (#517)
* Run clang-format
* Contains a preliminary implementation of deferred constraint resolution
* Reduce stack usage by some recursive functions
* Fix a bug when smartCloning a BoundTypeVar
* Remove some GC related flags from VM
2022-06-03 15:15:45 -07:00
vegorov-rbx
edd071f99a
Luau Recap: May 2022 (#513)
* Recap is ready

* Change the intro format so it shows up in the news section snippet

* Fixed line breaks that were implied

* Update docs/_posts/2022-06-01-luau-recap-may-2022.md

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>

* Drop Autocomplete improvements and extend compiler optimization section

In the cross-post to Roblox developer forum, Autocomplete section will be restored, while compiler optimization section can be optionally removed (although it might interest some developers)

* One more optimization

* Update docs/_posts/2022-06-01-luau-recap-may-2022.md

Co-authored-by: dcope-rbx <91100513+dcope-rbx@users.noreply.github.com>

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
Co-authored-by: dcope-rbx <91100513+dcope-rbx@users.noreply.github.com>
2022-06-01 16:27:42 -07:00
Arseny Kapoulkine
10ed02470c
Update compatibility.md
Add a note on light C functions that Lua 5.2 added; suggested by #512.
2022-06-01 14:19:17 -04:00
rblanckaert
61766a692c
Sync to upstream/release/529 (#505)
* Adds a currently unused x86-64 assembler as a prerequisite for possible future JIT compilation
* Fix a bug in table iteration (closes Possible table iteration bug #504)
* Improved warning method when function is used as a type
* Fix a bug with unsandboxed iteration with pairs()
* Type of coroutine.status() is now a union of value types
* Bytecode output for tests/debugging now has labels
* Improvements to loop unrolling cost estimation
* Report errors when the key obviously doesn't exist in the table
2022-05-26 15:08:16 -07:00
Austin
e13f17e225
Fix VM inconsistency caused by userdata C TM fast paths (#497)
This fixes usage of userdata C functions in xpcall handler following call stack overflow
2022-05-24 11:32:03 -07:00
T 'Filtered' C
69acf5ac07
Make coroutine.status use a string literal (#500)
Implements #495 
C++ isn't a language im very familliar with so this might be completely wrong
2022-05-24 11:29:17 -07:00
Petri Häkkinen
fb9c4311d8
Add lua_tolightuserdata, optimized lua_topointer (#496)
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
2022-05-24 08:59:12 -07:00
Arseny Kapoulkine
70ff6b4347
Update performance.md (#494)
Add a section on table length optimizations and reword the table iteration section a bit to account for generalized iteration.
2022-05-20 13:00:53 -07:00
Arseny Kapoulkine
f5923aefeb
Sync to upstream/release/527 (#491) 2022-05-19 17:02:24 -07:00
JohnnyMorganz
8b4c6aabc2
Fix findAstAncestry when position is at eof (#490) 2022-05-18 16:26:05 -07:00
JohnnyMorganz
f2191b9e4d
Respect useLineBreaks for union/intersect toString (#487)
* Respect useLineBreaks for union/intersect toString

* Apply suggestions from code review

Co-authored-by: Andy Friesen <andy.friesen@gmail.com>

Co-authored-by: Andy Friesen <andy.friesen@gmail.com>
2022-05-17 11:22:54 -07:00
JohnnyMorganz
ab4bb355a3
Add ToStringOptions.hideFunctionSelfArgument (#486)
Adds an option to hide the `self: type` argument as the first argument in the string representation of a named function type var if the ftv hasSelf.

Also added in a test for the original output (i.e., if the option was disabled)

I didn't apply this option in the normal `Luau::toString()` function, just the `Luau::toStringNamedFunction()` one (for my usecase, that is enough + I felt like a named function would include the method colon `:` to signify self). If this is unintuitive, I can also add it to the general `Luau::toString()` function.
2022-05-16 09:50:15 -07:00
Arseny Kapoulkine
a36b1eb29b
Sync to upstream/release/527 (#481) 2022-05-13 12:36:37 -07:00
Arseny Kapoulkine
87fe15ac51
Update STATUS.md
Mark last table subtyping RFC as implemented
2022-05-12 10:08:36 -07:00
Arseny Kapoulkine
a775e6dc8e
Mark last table subtyping RFC as implemented 2022-05-12 10:08:10 -07:00
Arseny Kapoulkine
105e74c7d9
Update STATUS.md
Both generalized iteration and LBC are implemented but not fully enabled in Roblox yet.
2022-05-11 15:14:51 -07:00
Arseny Kapoulkine
f3f231ea6b
Update compatibility.md
Update `__pairs` note with `__iter`, change `__len` to unsure as with `__iter` lack of `__len` on tables is the only issue preventing complete user created containers.
2022-05-09 18:38:10 -07:00
Arseny Kapoulkine
be0b7d07e2
Update sandbox.md
Replace debug.getinfo with debug.info
2022-05-09 18:34:31 -07:00
Arseny Kapoulkine
7935f9f8b6
Update sandbox.md
Reword the GC docs to avoid back-referencing the thread identity mechanism, since it's entirely Roblox-side and isn't fully documented here anymore.
2022-05-09 18:33:53 -07:00
Arseny Kapoulkine
72d8d44343
Add documentation for generalized iteration (#475) 2022-05-05 17:05:57 -07:00
Arseny Kapoulkine
e9cc76a3d5
Sync to upstream/release/526 (#477) 2022-05-05 17:03:43 -07:00
phoebe
57016582a7
fix feed link (#476) 2022-05-05 14:37:27 -07:00
byte-chan™
9156b5ae6d
Fix non-C locale issues in REPL (#474) 2022-05-04 12:27:12 -07:00
Alexander McCord
47a8d28aa9
Fix a typo in recap. (#472) 2022-05-03 16:12:59 -07:00
Andy Friesen
9bc71c4b13
April 2022 recap (#470) 2022-05-03 15:29:01 -07:00
Andy Friesen
448f03218f
Add attribution for Result.ts (#468) 2022-04-29 09:33:30 -07:00
Arseny Kapoulkine
bd6d44f5e3
Sync to upstream/release/525 (#467) 2022-04-28 18:24:24 -07:00
Alan Jeffrey
74c84815a0
Prototyping type normalizaton (#466)
* Added type normalization
2022-04-28 15:00:55 -05:00
Arseny Kapoulkine
e0a6461173
Sync to upstream/release/524 (#462) 2022-04-21 14:44:27 -07:00
Alan Jeffrey
5bb9f379b0
Unified strict and nonstrict mode in the prototype (#458) 2022-04-15 19:19:42 -05:00
Arseny Kapoulkine
8e7845076b
Sync to upstream/release/523 (#459) 2022-04-14 16:57:43 -07:00
Alan Jeffrey
d37d0c857b
Prototype: Renamed any/none to unknown/never (#447)
* Renamed any/none to unknown/never
* Pin hackage version
* Update Agda version
2022-04-09 00:07:08 -05:00
Lily Brown
510aed7d3f
Fix JsonEncoder for AstExprTable (#454)
JsonEncoder wasn't producing valid JSON for `AstExprTable`s. This PR fixes it. The new output looks like
```json
{
    "type": "AstStatBlock",
    "location": "0,0 - 6,4",
    "body": [
        {
            "type": "AstStatLocal",
            "location": "1,8 - 5,9",
            "vars": [
                {
                    "name": "x",
                    "location": "1,14 - 1,15"
                }
            ],
            "values": [
                {
                    "type": "AstExprTable",
                    "location": "3,12 - 5,9",
                    "items": [
                        {
                            "kind": "record",
                            "key": {
                                "type": "AstExprConstantString",
                                "location": "4,12 - 4,15",
                                "value": "foo"
                            },
                            "value": {
                                "type": "AstExprConstantNumber",
                                "location": "4,18 - 4,21",
                                "value": 123
                            }
                        }
                    ]
                }
            ]
        }
    ]
}
```
2022-04-08 11:26:47 -07:00
Arseny Kapoulkine
de1381e3f1
Sync to upstream/release/522 (#450) 2022-04-07 14:29:01 -07:00
Alexander McCord
ffff25a9e5
Improve the UX of reading tagged unions a smidge. (#449)
The page is a little narrow, and having to scroll on this horizontally isn't too nice. This fixes the UX for this specific part.
2022-04-07 09:16:44 -07:00
Alan Jeffrey
dc32a3253e
Add short example of width subtyping (#444) 2022-03-31 18:44:41 -05:00
Alan Jeffrey
916c83fdc4
Prototype: Added a discussion of set-theoretic models of subtyping (#431)
* Added a discussion of set-theoretic models of subtyping to the prototype
2022-03-31 18:29:42 -05:00
Arseny Kapoulkine
20308bed20 Merge branch 'merge' 2022-03-31 14:04:40 -07:00
Arseny Kapoulkine
4c1f208d7a
Sync to upstream/release/521 (#443) 2022-03-31 14:01:51 -07:00
Arseny Kapoulkine
a9489893b0 Merge branch 'upstream' into merge 2022-03-31 13:39:48 -07:00
Arseny Kapoulkine
b9b0382a5a Merge branch 'master' into merge 2022-03-31 13:39:46 -07:00
Arseny Kapoulkine
83c1c48e09 Sync to upstream/release/521 2022-03-31 13:37:49 -07:00
Alexander McCord
ba60730e0f
Add documentation on singleton types and tagged unions to typecheck.md. (#440)
Update the typecheck.md page to talk about singleton types and their uses, tagged unions.

As a driveby, improve the documentation on type refinements. And delete the unknown symbols part, this is really dated.

* Update docs/_pages/typecheck.md to fix a typo

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2022-03-31 11:54:06 -07:00
Alan Jeffrey
06bbfd90b5
Fix code sample in March 2022 Recap (#442) 2022-03-31 09:31:06 -05:00
Alan Jeffrey
f3ea2f96f7
Recap March 2022 (#439)
* March Recap

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2022-03-30 18:38:55 -05:00
Arseny Kapoulkine
af64680a5e
Mark singleton types and unsealed table literals RFCs as implemented (#438) 2022-03-29 16:58:59 -07:00
Andy Friesen
75bccce3db
RFC: Lower Bounds Calculation (#388)
Co-authored-by: vegorov-rbx <75688451+vegorov-rbx@users.noreply.github.com>
2022-03-29 12:37:14 -07:00
Arseny Kapoulkine
2c339d52c0
Sync to upstream/release/520 (#427) 2022-03-24 15:04:14 -07:00
Arseny Kapoulkine
d13b50de16 Merge branch 'upstream' into merge 2022-03-24 14:49:30 -07:00