Commit graph

683 commits

Author SHA1 Message Date
vegorov-rbx
71adace16e
RFC: Amend 'Default type alias type parameters' for type pack parameters (#238)
* Do not allow regular type assignment to a type pack as a default parameter

* With type pack support in type aliases, this second form with an empty list is now supported

* Update rfcs/syntax-default-type-alias-type-parameters.md

Co-authored-by: Alan Jeffrey <403333+asajeffrey@users.noreply.github.com>

* Update syntax-default-type-alias-type-parameters.md

Even more examples

Co-authored-by: Alan Jeffrey <403333+asajeffrey@users.noreply.github.com>
2021-12-08 04:21:47 -08:00
Braeden
2807dcb758
Update JsonEncoder.cpp (#279)
fix JsonEncoder so that AstArray elems are given commas seperating them
2021-12-07 08:14:35 -08:00
Slappy826
3eff1b214e
Fix spelling error of 'ROBLOX' (#277)
* Remove roblox prefix on comment
2021-12-07 08:14:24 -08:00
Arseny Kapoulkine
9488f2379d
Mark bit32.count* RFC as implemented 2021-12-03 11:10:41 -08:00
Arseny Kapoulkine
f63ddae898
Enable LuauActivateBeforeExec to activate the fix early (#275)
Fixes #259.
2021-12-03 10:40:31 -08:00
Arseny Kapoulkine
7257f34d89
Update CONTRIBUTING.md
The language around creating RFCs seems a bit redundant now.
2021-12-02 23:08:45 -08:00
Arseny Kapoulkine
32fb6d10a7
Sync to upstream/release/506 (#270)
- Fix some cases where type checking would overflow the native stack
- Improve autocomplete behavior when assigning a partially written function call (not currently exposed through command line tools)
- Improve autocomplete type inference feedback for some expressions where previously the type would not be known
- Improve quantification performance during type checking for large types
- Improve type checking for table literals when the expected type of the table is known because of a type annotation
- Fix type checking errors in cases where required module has errors in the resulting type
- Fix debug line information for multi-line chained call sequences (Add function name information for "attempt to call a nil value" #255)
- lua_newuserdata now takes 2 arguments to match Lua/LuaJIT APIs better; lua_newuserdatatagged should be used if the third argument was non-0.
- lua_ref can no longer be used with LUA_REGISTRYINDEX to prevent mistakes when migrating Lua FFI (Inconsistency with lua_ref #247)
- Fix assertions and possible crashes when executing script code indirectly via metatable dispatch from lua_equal/lua_lessthan/lua_getfield/etc. (Hitting a crash in an assert after lua_equal is called. #259)
- Fix flamegraph scripts to run under Python 2
2021-12-02 22:41:04 -08:00
Arseny Kapoulkine
f5ec6df7ba
Update build.yml
Disable continue-on-error for coverage because hiding the error actually makes it difficult to debug now :)
2021-12-02 15:55:06 -08:00
Arseny Kapoulkine
e440729e2b Fix signed/unsigned mismatch warning + lower limit to match upstream 2021-12-02 15:46:33 -08:00
Arseny Kapoulkine
a179c5248e Merge branch 'upstream' into merge 2021-12-02 15:25:23 -08:00
Arseny Kapoulkine
47f7cbe5a5 Merge branch 'master' into merge 2021-12-02 15:24:33 -08:00
Arseny Kapoulkine
eed18acec8 Sync to upstream/release/506 2021-12-02 15:20:08 -08:00
Lily Brown
864221e667
November 2021 Luau recap (#264)
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-12-02 13:22:02 -08:00
Arseny Kapoulkine
2aff9bb859
Add documentation for bit32.count* and coroutine.close (#268) 2021-12-02 11:36:40 -08:00
Petri Häkkinen
d2bf2870e8
Add lua_isvector, luaL_checkvector and luaL_optvector (#261)
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-12-01 11:03:08 -08:00
Petri Häkkinen
bf6cf4a69e
Fix luau_load 'env' to work with absolute stack index & add lua_absindex (#263)
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
2021-12-01 10:44:38 -08:00
kunitoki
35e497b533
Allow reconfiguring VM defaults (#260)
Co-authored-by: Lucio Asnaghi <lucio.asnaghi@king.com>
2021-11-30 17:03:18 -08:00
Arseny Kapoulkine
955f9fa754
Update index.md
Studio => luau-analyze
2021-11-30 15:26:28 -08:00
vegorov-rbx
6801c65090
Documentation for type packs (#257)
* Documentation for type packs

* Update docs/_pages/typecheck.md

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

* Add a note about the difference between ...T and T...

Fix a typo at the start as well.

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-30 14:00:23 -08:00
Arseny Kapoulkine
f185e9f5db
Update performance.md (#252)
Add documentation for closure allocation elision.
2021-11-30 08:21:11 -08:00
Petri Häkkinen
677994b243
Fix: luaL_sandbox leaves value on the stack (#253)
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
2021-11-30 08:14:28 -08:00
Petri Häkkinen
9aa9ff12dd
Add LUA_GCCOUNTB option for lua_gc (#254)
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
2021-11-30 08:14:12 -08:00
Lana Octavia
f86d4c6995
Removed LUALIB_API from source file method bodies (#235) 2021-11-29 08:14:06 -08:00
Baileyeatspizza
222f03bbda
Update lmathlib.cpp (#241) 2021-11-29 08:13:55 -08:00
Arseny Kapoulkine
dd02420f70
Update build.yml
Enable debug mode in coveralls action to diagnose https://github.com/lemurheavy/coveralls-public/issues/1595
2021-11-23 11:44:18 -08:00
vegorov-rbx
6b2b179aa6
Mark 'Type alias type packs' RFC as implemented (#237) 2021-11-23 10:03:20 -08:00
Arseny Kapoulkine
5740686124
Ignore errors during upload coverage (#236) 2021-11-23 08:26:28 -08:00
Alexander McCord
6958716ccd
RFC: String interpolation (#165) 2021-11-22 14:59:38 -08:00
Tiffany Bennett
a26024fb4b
Use latest release url (#227) 2021-11-22 12:54:27 -08:00
Arseny Kapoulkine
5961261a1c
Add web workflow to build Repl with Emscripten (#222)
This also separates Emscripten build into a new target / source to make
it more decoupled.
2021-11-22 09:59:15 -08:00
petrihakkinen
2740f69f32
Expand vectors to 4 components using compile time switch (#214)
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-22 07:42:33 -08:00
Pelanyo Kamara
a5bb3ee2af
Add luaL_checkboolean and luaL_optboolean (#221)
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-22 07:42:11 -08:00
Arseny Kapoulkine
cecd50fb06
Update navigation.yml
Remove leftover comments
2021-11-21 20:12:21 -08:00
Arseny Kapoulkine
ffed184562
Update navigation.yml
Add demo to top-level nav
2021-11-21 20:12:08 -08:00
Arseny Kapoulkine
2fa5b9c329
Update repl.html
Try using a release artifact
2021-11-21 20:07:44 -08:00
Josh Soref
ec8a5643cc
Improve readability (#206)
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-19 10:45:53 -08:00
Arseny Kapoulkine
100710c9f6
Update README.md
Switch to luau_compile and specify env for luau_load
2021-11-19 08:15:56 -08:00
Arseny Kapoulkine
3f1508c83a
Sync to upstream/release/505 (#216)
- Improve error recovery during type checking
- Initial (not fully complete) implementation for singleton types (RFC RFC: Singleton types #37)
- Implement a C-friendly interface for compiler (luacode.h)
- Remove C++ features from lua.h (removed default arguments from luau_load and lua_pushcfunction)
- Fix lua_breakpoint behavior when enabled=false
- Implement coroutine.close (RFC RFC: coroutine.close #88)

Note, this introduces small breaking changes in lua.h:

- luau_load env argument is now required, pass an extra 0
- lua_pushcfunction now must be called with 3 arguments; if you were calling it with 2 arguments, pass an extra NULL; if you were calling it with 4, use lua_pushcclosure.

These changes are necessary to make sure lua.h can be used from pure C - the future release will make it possible by adding an option to luaconf.h to change function name mangling to be C-compatible. We don't anticipate breaking the FFI interface in the future, but this change was necessary to restore C compatibility.

Closes #121
Fixes #213
2021-11-19 08:10:07 -08:00
Arseny Kapoulkine
7835224606 Merge branch 'upstream' into merge 2021-11-18 14:25:34 -08:00
Arseny Kapoulkine
c5ac146580 Merge branch 'master' into merge 2021-11-18 14:25:28 -08:00
Arseny Kapoulkine
60e6e86adb Sync to upstream/release/505 2021-11-18 14:21:07 -08:00
Arseny Kapoulkine
4265e58ad1
RFC: coroutine.close (#88) 2021-11-17 06:49:49 -08:00
ccuser44
09ad884ca8
Update SECURITY.md (#209)
In some use cases it is better to encrypt the bytecode, while on others you may want to do both.
2021-11-17 06:42:14 -08:00
ccuser44
a02086260b
Added note to docs about not using os.difftime for new work (#210)
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>

Fixes #194.
2021-11-17 06:42:04 -08:00
Alan Jeffrey
59366ad7f8
Clarified parsing properties of tables in the presence of singleton types (#207) 2021-11-16 14:48:01 -06:00
fpliu
e7a443daa8
Fix Android linking issue with libpthread (#203) 2021-11-15 15:01:36 -08:00
Arseny Kapoulkine
6558c271dd
Create SECURITY.md
Fixes #197.
2021-11-15 12:04:26 -08:00
ThePotato
d11e8277c2
Fixes IFTODT error while compiling from an android device (#199)
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-11-12 06:58:34 -08:00
Arseny Kapoulkine
b7d26b371a
Use -Werror in CI only (#201)
We keep getting compat reports for warnings in various compiler
versions. While we can keep merging PRs to resolve these warnings, it
would be nice if the users of other compilers or compiler versions weren't
blocked on us fixing this.

As such, this change disables Werror by default and only enables it when
requested, which happens in CI in test builds.
2021-11-12 06:56:25 -08:00
Arseny Kapoulkine
70ffc8a01d
RFC: Do not allow method call on string literals (#145) 2021-11-12 06:54:00 -08:00