diff --git a/spec/stdlib/assert_spec.lua b/spec/stdlib/assert_spec.lua
index 07b0b2343..05b78a453 100644
--- a/spec/stdlib/assert_spec.lua
+++ b/spec/stdlib/assert_spec.lua
@@ -17,4 +17,9 @@ describe("assert", function()
{ y = 9, msg = "cannot use operator '..' for types string | boolean and string" },
{ y = 11, msg = "cannot use operator '..' for types string | boolean and string" },
}))
+
+ it("ignores additional arguments", util.check([[
+ local f = assert(io.open("nonexistent.txt"))
+ ]]))
+
end)
diff --git a/tl.lua b/tl.lua
index 16db20282..50bd17fc4 100644
--- a/tl.lua
+++ b/tl.lua
@@ -396,7 +396,7 @@ do
type XpcallMsghFunction = function(...: any): ()
arg: {string}
- assert: function(A, ? B): A
+ assert: function(A, ? B, ...: any): A
collectgarbage: function(? CollectGarbageCommand): number
collectgarbage: function(CollectGarbageSetValue, integer): number
diff --git a/tl.tl b/tl.tl
index abe65ebc4..cc65b2222 100644
--- a/tl.tl
+++ b/tl.tl
@@ -396,7 +396,7 @@ do
type XpcallMsghFunction = function(...: any): ()
arg: {string}
- assert: function(A, ? B): A
+ assert: function(A, ? B, ...: any): A
collectgarbage: function(? CollectGarbageCommand): number
collectgarbage: function(CollectGarbageSetValue, integer): number