summaryrefslogtreecommitdiff
path: root/vm_args.c
diff options
context:
space:
mode:
authorYusuke Endoh <mame@ruby-lang.org>2019-12-03 17:56:50 +0900
committerYusuke Endoh <mame@ruby-lang.org>2019-12-03 17:56:50 +0900
commita1f98cd4c1d55efe4998ecd3d94508634baefc23 (patch)
treef870a2c2cb8bc3f76e154578cb8cca0b54de1a45 /vm_args.c
parent409e4ab740de3852c3667217bcf41b55040f638f (diff)
vm_args.c: make the keyword deprecation message helpful
``` $ ./miniruby -e 'def foo(kw: 1); end; h = {kw: 1}; foo(h)' -e:1: warning: The last argument is used as the keyword parameter -e:1: warning: for `foo' defined here; maybe ** should be added to the call? ```
Diffstat (limited to 'vm_args.c')
-rw-r--r--vm_args.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/vm_args.c b/vm_args.c
index c46b3cf2a4..97b1d4ac60 100644
--- a/vm_args.c
+++ b/vm_args.c
@@ -693,18 +693,18 @@ rb_warn_last_hash_to_keyword(rb_execution_context_t * const ec, struct rb_callin
name = rb_id2str(ci->mid);
loc = rb_iseq_location(iseq);
if (NIL_P(loc)) {
- rb_warn("The last argument for `%"PRIsVALUE"' is used as the keyword parameter",
+ rb_warn("The last argument for `%"PRIsVALUE"' is used as the keyword parameter; maybe ** should be added to the call?",
name);
}
else {
rb_warn("The last argument is used as the keyword parameter");
if (calling->recv != Qundef) {
rb_compile_warn(RSTRING_PTR(RARRAY_AREF(loc, 0)), FIX2INT(RARRAY_AREF(loc, 1)),
- "for `%"PRIsVALUE"' defined here", name);
+ "for `%"PRIsVALUE"' defined here; maybe ** should be added to the call?", name);
}
else {
rb_compile_warn(RSTRING_PTR(RARRAY_AREF(loc, 0)), FIX2INT(RARRAY_AREF(loc, 1)),
- "for method defined here");
+ "for method defined here; maybe ** should be added to the call?");
}
}
}