Nocheck and nonstrict are acting wierd


In those 2 pictures it should be clear.

Correct me if im wrong but why does nocheck not disables the typechecker while nonstrict does that must have been a issue im sure i remeber it working that way.

another issue that is annoying when i turn on strict on this code

local module = {}
type Class = typeof(module)

function module:Foo() --it defines self as unknown
local self : Class = self -- orange field saying some stuff about t1 not being t2
--but wierdely now im checking it and the orange field is gone how bizzar
end

and when using the module another orange line comes using the module:Foo() saying : Value of type ‘PsuedoRandom?’ could be nil

Expected behavior

–!nocheck should turn the typechecker off
–!nonstrict should turn it on but not strict

Can self be recognized as the table it self instead of unknown unless changed.
and please see why that orange line came and when i checked on it now it’s gone (probably because script was reopened)

im using the new type checker so i understand there is a lot of issues since its also beta.

2 Likes