From: shevegen@... Date: 2019-09-17T18:49:33+00:00 Subject: [ruby-core:94948] [Ruby master Bug#16169] rescue in a method argument Issue #16169 has been updated by shevegen (Robert A. Heiler). mame explained that the behaviour is correct (in the context). Perhaps the documentation could explain that, because I agree with zverok at the least initially to assume that there should not be a difference in behaviour between the two. At the least I think that it would be better to have this explained in the documentation as-is, similar to how mame explained that. ---------------------------------------- Bug #16169: rescue in a method argument https://bugs.ruby-lang.org/issues/16169#change-81564 * Author: zverok (Victor Shepelev) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- At 2.4, #12686 was introduced, allowing code like this: ```ruby foo (Integer(ENV['FOO']) rescue nil) ``` Though, I noticed that in current Ruby correctness of this syntax depends on space after the method name: ```ruby foo (Integer(ENV['FOO']) rescue nil) # => OK foo(Integer(ENV['FOO']) rescue nil) # SyntaxError ((irb):4: syntax error, unexpected modifier_rescue, expecting ')') # foo(Integer(ENV['FOO']) rescue nil) # ^~~~~~ ``` I wonder, whether it is just a bug or a parser limitation (I can't guess which ambiguity the space-less version produces, but I could be missing something)?.. -- https://bugs.ruby-lang.org/ Unsubscribe: