Project

General

Profile

Actions

Bug #15906

closed

a=a のような式をもつ条件分岐が意図しない挙動をする

Added by nagachika (Tomoyuki Chikanaga) almost 5 years ago. Updated over 4 years ago.

Status:
Closed
Target version:
-
[ruby-dev:50792]

Description

[ruby-list:50781] から一部転載します。

下記スクリプトの結果が期待と違います。なぜでしょうか?
a = a は不要ですが、なにもしないことを明示するために書いたものです。
なおOS付属の ruby 2.3.7p456 では期待通りの結果でした。


a = "aaa"
if a == "bbb" || a == "ccc" then
    a = a
else
    puts "OK"
end
puts "END"



実行結果 
 END

期待する結果 
 OK
 END

動作環境
 MacOS 10.13.6
 ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]
 macportsでインストール

r63870 から発生するようになっているようです。

Actions #1

Updated by mame (Yusuke Endoh) almost 5 years ago

  • Status changed from Open to Closed

Applied in changeset git|a6a26e42b15c46f117f4fce07a2050e9d727355d.


compile.c: Partially revert r63870 which caused wrong optimization

[Bug #15906]

Updated by nagachika (Tomoyuki Chikanaga) over 4 years ago

  • Backport changed from 2.4: DONTNEED, 2.5: REQUIRED, 2.6: REQUIRED to 2.4: DONTNEED, 2.5: REQUIRED, 2.6: DONE

ruby_2_6 r67716 merged revision(s) a6a26e42b15c46f117f4fce07a2050e9d727355d.

Updated by usa (Usaku NAKAMURA) over 4 years ago

  • Backport changed from 2.4: DONTNEED, 2.5: REQUIRED, 2.6: DONE to 2.4: DONTNEED, 2.5: DONE, 2.6: DONE

ruby_2_5 r67757 merged revision(s) a6a26e42b15c46f117f4fce07a2050e9d727355d.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0