Issue #14606 has been updated by Earlopain (Earlopain _). Status changed from Open to Closed Both are syntax errors now, the first example since https://github.com/ruby/ruby/commit/140512d2225e6fd046ba1bdbcd1a27450f55c233 ---------------------------------------- Feature #14606: Change begin-else-end without rescue from warning to syntax error https://bugs.ruby-lang.org/issues/14606#change-118047 * Author: joker1007 (Tomohiro Hashidate) * Status: Closed ---------------------------------------- ~~~ ruby begin p :foo else p :bar end # => :foo # => :bar ~~~ ~~~ ruby [1,2,3].each do p :foo else p :bar end # => :foo # => :bar ~~~ begin-else-end without rescue is useless and dangerous. (especially, do-else-end is easy to mistake) In actually, programmer never intend to write like these. Ruby interpreter can guard this case by syntax error. -- https://bugs.ruby-lang.org/