From e073cbc2e538369e0611abfc9948f301aea6aef3 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 30 Oct 2018 15:46:56 -0300 Subject: Better error messages for invalid operands in numeric 'for' "Better" and similar to error messages for invalid function arguments. *old message: 'for' limit must be a number *new message: bad 'for' limit (number expected, got table) --- testes/errors.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'testes') diff --git a/testes/errors.lua b/testes/errors.lua index 142e8b33..74975e31 100644 --- a/testes/errors.lua +++ b/testes/errors.lua @@ -154,6 +154,16 @@ checkmessage("a = 24 // 0", "divide by zero") checkmessage("a = 1 % 0", "'n%0'") +-- numeric for loops +checkmessage("for i = {}, 10 do end", "table") +checkmessage("for i = io.stdin, 10 do end", "FILE") +checkmessage("for i = {}, 10 do end", "initial value") +checkmessage("for i = 1, 'x', 10 do end", "string") +checkmessage("for i = 1, {}, 10 do end", "limit") +checkmessage("for i = 1, {} do end", "limit") +checkmessage("for i = 1, 10, print do end", "step") +checkmessage("for i = 1, 10, print do end", "function") + -- passing light userdata instead of full userdata _G.D = debug checkmessage([[ -- cgit v1.2.3-55-g6feb