summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2025-06-05 19:05:29 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2025-06-05 19:21:02 +0900
commit0e0008da0f19d098a2e98902f2215c126aca0101 (patch)
tree562b3b899f4eb48a8dfd617a6d06592a8e2a741b /parse.y
parentb9e3edb3e60c3efb97a0e7df2da9d2be1cf71d02 (diff)
[Bug #21381] Refine error messages for `it` and numbered parameters
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/13522
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y16
1 files changed, 8 insertions, 8 deletions
diff --git a/parse.y b/parse.y
index 58b054ed33..156c78c0c6 100644
--- a/parse.y
+++ b/parse.y
@@ -12860,10 +12860,10 @@ numparam_nested_p(struct parser_params *p)
NODE *inner = local->numparam.inner;
if (outer || inner) {
NODE *used = outer ? outer : inner;
- compile_error(p, "numbered parameter is already used in\n"
- "%s:%d: %s block here",
- p->ruby_sourcefile, nd_line(used),
- outer ? "outer" : "inner");
+ compile_error(p, "numbered parameter is already used in %s block\n"
+ "%s:%d: numbered parameter is already used here",
+ outer ? "outer" : "inner",
+ p->ruby_sourcefile, nd_line(used));
parser_show_error_line(p, &used->nd_loc);
return 1;
}
@@ -12875,8 +12875,8 @@ numparam_used_p(struct parser_params *p)
{
NODE *numparam = p->lvtbl->numparam.current;
if (numparam) {
- compile_error(p, "numbered parameter is already used in\n"
- "%s:%d: current block here",
+ compile_error(p, "'it' is not allowed when a numbered parameter is already used\n"
+ "%s:%d: numbered parameter is already used here",
p->ruby_sourcefile, nd_line(numparam));
parser_show_error_line(p, &numparam->nd_loc);
return 1;
@@ -12889,8 +12889,8 @@ it_used_p(struct parser_params *p)
{
NODE *it = p->lvtbl->it;
if (it) {
- compile_error(p, "'it' is already used in\n"
- "%s:%d: current block here",
+ compile_error(p, "numbered parameters are not allowed when 'it' is already used\n"
+ "%s:%d: 'it' is already used here",
p->ruby_sourcefile, nd_line(it));
parser_show_error_line(p, &it->nd_loc);
return 1;