From: "NARUSE, Yui" Date: 2011-01-21T19:06:28+09:00 Subject: [ruby-core:34717] Re: [Ruby 1.8-Feature#4239] Let's begin a talk for "1.8.8" -- How's needed for surviving 1.8? 2011/1/21 Zeno Davatz : > Please correct me if I am wrong but in > > http://redmine.ruby-lang.org/issues/show/1535 > > Yusuke Endoh says that > > �But I agree with Run Paint Run Run's opinion. �It may lead to difficult bug to indeterminately fail to add a new key. > > but that is not at all proven by Run Paint Run Run case. Then Matz goes ahead and flags that unproven claim as ok and Ruby 1.9.2 is pachted and more inconsistency is created, based on some bug that "!may!" happen in the future. > > Our case of http://redmine.ruby-lang.org/wiki/ruby-19/%23Hash_Iteration is a very simple practical Live-Software Hash iteration Case that works in Ruby 1.8.6, 1.9.1 and then breaks in 1.9.2 because of some theoretical "may". Not theoretical "may", the example in the first post shows it. > In my opinion this is not practical thinking it is theoretical thinking based on ifs and whens. > > I would recommend you should at least have one practical Use-Case (running live Software or gem) that shows that his/her application(s) becomes broken before you do changes based on some "maybe". > > And the moment your "maybes" break existing software and that is wrong. That is not good. That is not consistent. Of course true theoretical "may" like collision of SHA1 (assume SHA1 is safe) is nonsense. But this is enough happened (because he hit this). In such case, this causes unpredictable bug and random bugs are so hard to debug that it should be fixed. -- NARUSE, Yui �