Feature #4299
no warning: found = in conditional, should be ==
| Status: | Feedback | Start date: | 01/20/2011 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | core | |||
| Target version: | 2.0.0 |
Description
http://d.hatena.ne.jp/nagachika/20110119/ruby_trunk_changes_30595_30603
で知ったのですが、右辺の種類によっては「warning: found = in conditional, should be ==」が出ないことがあるようです。
% ruby-trunk -ve '!_=""'
ruby 1.9.3dev (2011-01-20 trunk 30614) [i686-linux]
-e:1: warning: found = in conditional, should be ==
% ruby-trunk -ve '!_=1'
ruby 1.9.3dev (2011-01-20 trunk 30614) [i686-linux]
-e:1: warning: found = in conditional, should be ==
% ruby-trunk -ve '!_={}'
ruby 1.9.3dev (2011-01-20 trunk 30614) [i686-linux]
% ruby-trunk -ve '!_=[]'
ruby 1.9.3dev (2011-01-20 trunk 30614) [i686-linux]
%
History
Updated by naruse (Yui NARUSE) 11 months ago
- Status changed from Open to Assigned
- Assignee set to nobu (Nobuyoshi Nakada)
Updated by nahi (Hiroshi Nakamura) 11 months ago
- Target version set to 1.9.3
Updated by nobu (Nobuyoshi Nakada) 11 months ago
- Tracker changed from Bug to Feature
- Status changed from Assigned to Feedback
この警告が出るのは、右辺が静的なリテラル(数値と、式展開のない文字列、nil、false、true)であるときだけです。
つまり、実行時に動的に作られるArrayやHashに対して出ないのは意図的なものですが、この条件を拡げるべきだという論点はありうると思います。
Updated by naruse (Yui NARUSE) 11 months ago
- Target version changed from 1.9.3 to 2.0.0