Issue #14708 has been updated by nagachika (Tomoyuki Chikanaga).

Backport changed from 2.3: DONTNEED, 2.4: DONTNEED, 2.5: REQUIRED to 2.3: DONTNEED, 2.4: DONTNEED, 2.5: DONE

ruby_2_5 r64419 merged revision(s) 63255.

----------------------------------------
Bug #14708: argument stack underflow (-1) (SyntaxError)
https://bugs.ruby-lang.org/issues/14708#change-73577

* Author: tim.leppard (Tim Leppard)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
* Backport: 2.3: DONTNEED, 2.4: DONTNEED, 2.5: DONE
----------------------------------------
~~~
ruby -e '[].each { false || [].each { } }' # OK

ruby -e '[].each { nil.nil? || [].each { } }' # OK

ruby -e '[].each { true || [].each { } }'

-- raw disasm--------
 <L498253648>
 trace: 100
 0000 nop                                                              (   1)
 <L000>
 trace: 1
 0001 putobject            true                                        (   1)
 0003 leave                                                            (   1)
 0004 pop                                                              (   1)
*0005 pop                                                              (   1)
 <L003>
 0006 newarray             0                                           (   1)
 0008 send                 <callinfo:each, 0>, <call cache>, nil       (   1)
 <L004>
 <L001>
 trace: 200
 0012 leave                                                            (   1)
---------------------
Traceback (most recent call last):
-e: -e:1: argument stack underflow (-1) (SyntaxError)
~~~



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

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