[ruby-core:85675] [Ruby trunk Bug#14062] Top-level return allows an argument

From: matz@...
Date: 2018-02-20 07:12:52 UTC
List: ruby-core #85675
Issue #14062 has been updated by matz (Yukihiro Matsumoto).


I am against making it a syntax error. Adding warnings is OK (but maybe we can rely on Rubocop etc. to detect them).

Matz.


----------------------------------------
Bug #14062: Top-level return allows an argument
https://bugs.ruby-lang.org/issues/14062#change-70469

* Author: Eregon (Benoit Daloze)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.5.0dev (2017-10-26 trunk 60450) [x86_64-linux]
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
~~~ ruby
puts "Here"
return 42 # or :foo, or any value
~~~

~~~
ruby test.rb
Here
~~~

Should it be a SyntaxError, as mentioned in https://bugs.ruby-lang.org/issues/4840#note-24 ?
It seems confusing to accept it silently, as one could expect the exact code to be affected by it (that should not be the case imho).

Discovered in https://github.com/ruby/spec/pull/530



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next