Error when getting an unset context without a default

This commit is contained in:
Kaan 2026-10-19 17:02:49 +03:00
parent a4151bd41e
commit 446be23cfc
3 changed files with 13 additions and 1 deletions

View file

@ -131,6 +131,8 @@ Creates a new context.
Calling `context()` returns a new context function.
Call this function with no arguments to get the context value.
If no context is set, the default value is returned, or an error is thrown
if no default was given.
Call this function with a value and a function to create a new context with
the given value.

View file

@ -40,7 +40,7 @@ local function context<T>(...: T): Context<T>
return (if value ~= nil_symbol then value else nil) :: T
end
if has_default ~= nil then
if has_default then
return default_value
else
error("attempt to get context when no context is set and no default context is set", 0)

View file

@ -2769,6 +2769,16 @@ TEST("context()", function()
end)
end)
end
do CASE "get context without default"
local ctx = context()
CHECK(not pcall(ctx))
root(function()
CHECK(not pcall(ctx))
end)
end
end)
TEST("nested effects cases", function()