[Open] ruby -c and ripper inconsistency: m(&nil) {}

Issue #10436 has been reported by Akira T…


Bug #10436: ruby -c and ripper inconsistency: m(&nil) {}

  • Author: Akira T.
  • Status: Open
  • Priority: Normal
  • Assignee:
  • Category:
  • Target version:
  • ruby -v: ruby 2.2.0dev (2014-10-27 trunk 48168) [x86_64-linux]
  • Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN

m(&nil) {} というまちがったコードは
ruby -c でちゃんとエラーになるのに、
Ripper.sexp ではならないようです。

% cat z.rb
m(&nil) {}
% ruby -c z.rb
z.rb:1: both block arg and actual block given
% ruby -rripper -e 'p Ripper.sexp(STDIN.read)' < z.rb
[:program, [[:method_add_block, [:method_add_arg, [:fcall, [:@ident, 
"m", [1, 0]]], [:arg_paren, [:args_add_block, [], [:var_ref, [:@kw, 
"nil", [1, 3]]]]]], [:brace_block, nil, [[:void_stmt]]]]]]
% ruby -v
ruby 2.2.0dev (2014-10-27 trunk 48168) [x86_64-linux]