Skip to content

Exact classes can have fields injected when used as parameters to funcitons #2288

Open
@GiuseppeIII

Description

@GiuseppeIII

Love the new exact class! When using it though, I noticed that I could still 'inject' fields into an exact class when it is used as the input to a function. Example:

---@class (exact) TestClass
---@field public a number
---@field public b string
---@field public c boolean

---@param test_param TestClass
local function test(test_param)
end

test({a = 1, b = "2", c = true, d = 4})

causes no error.

I am not sure if this is intended or not, but I would expect to get an warning like: Fields cannot be injected into the reference of `TestClass` for `d`. To do so, use `---@class` for `test_param`.Lua Diagnostics.(inject-field) here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions