diff --git a/src/args.rs b/src/args.rs index 6ca0ce8..a79adce 100644 --- a/src/args.rs +++ b/src/args.rs @@ -226,7 +226,7 @@ pub(crate) fn eat_func_args>( close_paren_span = pos; break; } - _ => todo!(), + _ => return Err(("expected \")\".", pos).into()), }; let mut default: Vec = Vec::new(); let mut is_variadic = false; diff --git a/tests/functions.rs b/tests/functions.rs index 0da0a58..11aaba4 100644 --- a/tests/functions.rs +++ b/tests/functions.rs @@ -83,3 +83,11 @@ test!( "@function str-replace($string, $search, $replace: \"\") {\n $index: $string;\n @return $index;\n}\n\na {\n color: str-replace(\"a#b#c\", \"#\", \":\");\n}", "a {\n color: \"a#b#c\";\n}\n" ); +error!( + missing_name, + "@function() {}", "Error: Expected identifier." +); +error!( + args_do_not_start_with_var, + "@function foo(FOO) {}", "Error: expected \")\"." +);