aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2023-12-08 09:26:30 -0500
committergit <svn-admin@ruby-lang.org>2023-12-08 14:34:34 +0000
commit892b5f10d52bacaf8c6b430d0e9a95dc0ea36834 (patch)
tree7012c5a49cbf7434ae47b309f8246c32ae0d051f
parent0204523fe7ccafba30a4d2465946095f2603c7eb (diff)
downloadruby-892b5f10d52bacaf8c6b430d0e9a95dc0ea36834.tar.gz
[ruby/prism] More closely match CRuby error messages
https://github.com/ruby/prism/commit/1ed07a0c6d
-rw-r--r--prism/diagnostic.c4
-rw-r--r--test/prism/errors_test.rb28
2 files changed, 16 insertions, 16 deletions
diff --git a/prism/diagnostic.c b/prism/diagnostic.c
index 925ccce4f0..c537d373aa 100644
--- a/prism/diagnostic.c
+++ b/prism/diagnostic.c
@@ -192,7 +192,7 @@ static const char* const diagnostic_messages[PM_DIAGNOSTIC_ID_LEN] = {
[PM_ERR_MULTI_ASSIGN_MULTI_SPLATS] = "multiple splats in multiple assignment",
[PM_ERR_NOT_EXPRESSION] = "expected an expression after `not`",
[PM_ERR_NUMBER_LITERAL_UNDERSCORE] = "number literal ending with a `_`",
- [PM_ERR_NUMBERED_PARAMETER_NOT_ALLOWED] = "numbered parameters are not allowed alongside explicit parameters",
+ [PM_ERR_NUMBERED_PARAMETER_NOT_ALLOWED] = "numbered parameters are not allowed when an ordinary parameter is defined",
[PM_ERR_NUMBERED_PARAMETER_OUTER_SCOPE] = "numbered parameter is already used in outer scope",
[PM_ERR_OPERATOR_MULTI_ASSIGN] = "unexpected operator for a multiple assignment",
[PM_ERR_OPERATOR_WRITE_ARGUMENTS] = "unexpected operator after a call with arguments",
@@ -204,7 +204,7 @@ static const char* const diagnostic_messages[PM_DIAGNOSTIC_ID_LEN] = {
[PM_ERR_PARAMETER_NAME_REPEAT] = "repeated parameter name",
[PM_ERR_PARAMETER_NO_DEFAULT] = "expected a default value for the parameter",
[PM_ERR_PARAMETER_NO_DEFAULT_KW] = "expected a default value for the keyword parameter",
- [PM_ERR_PARAMETER_NUMBERED_RESERVED] = "%.2s is reserved for a numbered parameter",
+ [PM_ERR_PARAMETER_NUMBERED_RESERVED] = "%.2s is reserved for numbered parameters",
[PM_ERR_PARAMETER_ORDER] = "unexpected parameter order",
[PM_ERR_PARAMETER_SPLAT_MULTI] = "unexpected multiple `*` splat parameters",
[PM_ERR_PARAMETER_STAR] = "unexpected parameter `*`",
diff --git a/test/prism/errors_test.rb b/test/prism/errors_test.rb
index 9b6cf55fd5..31e01fa035 100644
--- a/test/prism/errors_test.rb
+++ b/test/prism/errors_test.rb
@@ -608,15 +608,15 @@ module Prism
end
RUBY
assert_errors expected, source, [
- ["_1 is reserved for a numbered parameter", 8..10],
- ["_2 is reserved for a numbered parameter", 14..16],
- ["_3 is reserved for a numbered parameter", 20..22],
- ["_4 is reserved for a numbered parameter", 26..28],
- ["_5 is reserved for a numbered parameter", 32..34],
- ["_6 is reserved for a numbered parameter", 40..42],
- ["_7 is reserved for a numbered parameter", 46..48],
- ["_8 is reserved for a numbered parameter", 52..54],
- ["_9 is reserved for a numbered parameter", 58..60],
+ ["_1 is reserved for numbered parameters", 8..10],
+ ["_2 is reserved for numbered parameters", 14..16],
+ ["_3 is reserved for numbered parameters", 20..22],
+ ["_4 is reserved for numbered parameters", 26..28],
+ ["_5 is reserved for numbered parameters", 32..34],
+ ["_6 is reserved for numbered parameters", 40..42],
+ ["_7 is reserved for numbered parameters", 46..48],
+ ["_8 is reserved for numbered parameters", 52..54],
+ ["_9 is reserved for numbered parameters", 58..60],
]
end
@@ -1350,18 +1350,18 @@ module Prism
def test_writing_numbered_parameter
assert_errors expression("-> { _1 = 0 }"), "-> { _1 = 0 }", [
- ["_1 is reserved for a numbered parameter", 5..7]
+ ["_1 is reserved for numbered parameters", 5..7]
]
end
def test_targeting_numbered_parameter
assert_errors expression("-> { _1, = 0 }"), "-> { _1, = 0 }", [
- ["_1 is reserved for a numbered parameter", 5..7]
+ ["_1 is reserved for numbered parameters", 5..7]
]
end
def test_defining_numbered_parameter
- error_messages = ["_1 is reserved for a numbered parameter"]
+ error_messages = ["_1 is reserved for numbered parameters"]
assert_error_messages "def _1; end", error_messages
assert_error_messages "def self._1; end", error_messages
@@ -1416,7 +1416,7 @@ module Prism
def test_numbered_parameters_in_block_arguments
source = "foo { |_1| }"
assert_errors expression(source), source, [
- ["_1 is reserved for a numbered parameter", 7..9],
+ ["_1 is reserved for numbered parameters", 7..9],
]
end
@@ -1502,7 +1502,7 @@ module Prism
/(?<_1>)/ =~ a
RUBY
- message = "_1 is reserved for a numbered parameter"
+ message = "_1 is reserved for numbered parameters"
assert_errors expression(source), source, [
[message, 5..7],
[message, 13..15],