Jack

Results 9 issues of Jack

[Luau](https://luau-lang.org/) is Roblox's version of Lua with added types.

For the following code in O2 mode, Luau creates this bytecode: ```lua local v v = 10 ``` ``` LOADNIL R0 LOADN R0 10 ``` Here Luau is assigning to...

enhancement

```lua local Class = {} Class.__index = Class function Class.new(Data: T) return setmetatable({ Data = Data }, Class) end type Class = typeof(Class.new((nil :: any) :: T)) function Class.Update(self: Class,...

bug

After initial syntax parsing is complete, it's often desired to run lints, type checking, variables existing, etc on the AST. To create errors for these, tokens need to have attached...

enhancement
question

```luau export type Table = { a: (number) -> (), } local function a(n: number) end local function takes_table(t: Table) end takes_table({ a = a }) -- TypeError: Type pack...

bug
new solver

This PR *is* a breaking change, but I doubt anyone uses the syntax. ```lua local function a(): (string, ...number) | boolean -- valid syntax, but weird type local function a():...

Implements table type access modifiers: ```luau type foo = { read bar: number write baz: string, } ```

```luau type foo = { --- foo bar baz field: number, } local a: foo a.field -- this gives the information "foo bar baz" when using the old solver, but...

bug
new solver

This code reports a type error for the entirety of the if statement's condition, when the error should only be reported for the right side of the `and`: ```lua local...

bug
new solver