From: usa@...
Date: 2019-08-26T14:45:49+00:00
Subject: [ruby-dev:50839] [Ruby master Bug#15906] a=a のような式をもつ条件分岐が意図しない挙動をする

Issue #15906 has been updated by usa (Usaku NAKAMURA).

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.

----------------------------------------
Bug #15906: a=a のような式をもつ条件分岐が意図しない挙動をする
https://bugs.ruby-lang.org/issues/15906#change-81023

* Author: nagachika (Tomoyuki Chikanaga)
* Status: Closed
* Priority: Normal
* Assignee: nobu (Nobuyoshi Nakada)
* Target version: 
* ruby -v: 2.6.3
* Backport: 2.4: DONTNEED, 2.5: DONE, 2.6: DONE
----------------------------------------
[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 から発生するようになっているようです。



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