diff --git a/src/closure.rs b/src/closure.rs index 31325544..a700affa 100644 --- a/src/closure.rs +++ b/src/closure.rs @@ -17,9 +17,9 @@ use crate::{ // interpreter. (Even though that gives slightly cleaner error messages). #[derive(Debug, Error)] pub enum CompilerError { - #[error("parse error")] + #[error("{0}")] Parsing(#[from] compiler::ParseError), - #[error("compile error")] + #[error("{0}")] Compilation(#[from] compiler::CompileError), } diff --git a/src/compiler/parser.rs b/src/compiler/parser.rs index 7ced0c28..f2f56159 100644 --- a/src/compiler/parser.rs +++ b/src/compiler/parser.rs @@ -333,7 +333,7 @@ pub enum ParseErrorKind { ExpressionNotStatement, #[error("recursion limit reached")] RecursionLimit, - #[error("lexer error")] + #[error("lexer error: {0}")] LexError(#[from] LexError), #[error("invalid attribute {0:?}")] InvalidAttribute(String), diff --git a/tests/goldenscripts/close-multiple.lua b/tests/goldenscripts/close-multiple.lua index 7d07227a..549877b1 100644 --- a/tests/goldenscripts/close-multiple.lua +++ b/tests/goldenscripts/close-multiple.lua @@ -1,4 +1,4 @@ --- error ---- runtime error: compile error: compiler error at line 4: multiple to-be-closed variables in local list +--- runtime error: compiler error at line 4: multiple to-be-closed variables in local list local a , b = {}, {} diff --git a/tests/goldenscripts/close-unimpl.lua b/tests/goldenscripts/close-unimpl.lua index 97f48799..2adc0f99 100644 --- a/tests/goldenscripts/close-unimpl.lua +++ b/tests/goldenscripts/close-unimpl.lua @@ -1,4 +1,4 @@ --- error ---- runtime error: compile error: compiler error at line 4: close attribute currently unsupported +--- runtime error: compiler error at line 4: close attribute currently unsupported local c = {} diff --git a/tests/goldenscripts/const1.lua b/tests/goldenscripts/const1.lua index a5b52e84..1d75c92a 100644 --- a/tests/goldenscripts/const1.lua +++ b/tests/goldenscripts/const1.lua @@ -1,5 +1,5 @@ --- error ---- runtime error: compile error: compiler error at line 5: cannot assign to a const variable +--- runtime error: compiler error at line 5: cannot assign to a const variable local c = 3 c = 4 diff --git a/tests/goldenscripts/const3.lua b/tests/goldenscripts/const3.lua index aa6f5fae..0ea04bea 100644 --- a/tests/goldenscripts/const3.lua +++ b/tests/goldenscripts/const3.lua @@ -1,5 +1,5 @@ --- error ---- runtime error: compile error: compiler error at line 5: cannot assign to a const variable +--- runtime error: compiler error at line 5: cannot assign to a const variable local a = 3 function a() diff --git a/tests/goldenscripts/const4.lua b/tests/goldenscripts/const4.lua index 396bd61a..b37f0e33 100644 --- a/tests/goldenscripts/const4.lua +++ b/tests/goldenscripts/const4.lua @@ -1,5 +1,5 @@ --- error ---- runtime error: compile error: compiler error at line 7: cannot assign to a const variable +--- runtime error: compiler error at line 7: cannot assign to a const variable local a = 3 diff --git a/tests/goldenscripts/const5.lua b/tests/goldenscripts/const5.lua index b441dae6..32d94642 100644 --- a/tests/goldenscripts/const5.lua +++ b/tests/goldenscripts/const5.lua @@ -1,5 +1,5 @@ --- error ---- runtime error: compile error: compiler error at line 7: cannot assign to a const variable +--- runtime error: compiler error at line 7: cannot assign to a const variable local a = 5 diff --git a/tests/goldenscripts/lexer.lua b/tests/goldenscripts/lexer.lua new file mode 100644 index 00000000..9e871f4d --- /dev/null +++ b/tests/goldenscripts/lexer.lua @@ -0,0 +1,4 @@ +--- error +--- runtime error: parse error at line 4: lexer error: invalid escape sequence + +local p = "\-"