Re: [Rails-core] Bug in HashWithIndifferentAccess?

2015-09-01 Thread Yves-Eric
I am seeing this with Rails 4.2.4. On Wednesday, 2 September 2015 05:29:56 UTC+9, James Coleman wrote: > > The []= operator should still return whatever it sets, though, which would > mean the two different accesses should return the same thing. And I believe > this is the case currently. To

Re: [Rails-core] Bug in HashWithIndifferentAccess?

2015-09-01 Thread Yves-Eric
Thanks Matt, your analysis is spot on. So the root cause actually a core behavior of Ruby. I found this pretty good explanation too on StackOverflow: http://stackoverflow.com/questions/19033909/why-isnt-method-treated-the-same-as-any-other-method So, it looks like this cannot be fixed, huh

Re: [Rails-core] Bug in HashWithIndifferentAccess?

2015-09-01 Thread James Coleman
The []= operator should still return whatever it sets, though, which would mean the two different accesses should return the same thing. And I believe this is the case currently. To not do so would be a legitimate bug. What version of Rails is the example using? On Tue, Sep 1, 2015 at 4:21 PM,

Re: [Rails-core] Bug in HashWithIndifferentAccess?

2015-09-01 Thread Matt Jones
On Sep 1, 2015, at 6:29 AM, Yves-Eric wrote: > Hi all, > > > I think I have stumbled upon a bug in HashWithIndifferentAccess. > I cannot pinpoint it exactly, but I have written a small test case that > exhibits the buggy behavior: > >

Re: [Rails-core] Bug in HashWithIndifferentAccess?

2015-09-01 Thread James Coleman
Mohamed, I don't believe that's correct. And testing it out by replacing the HashWithIndifferentAccess with a regular Ruby Hash gives the expected result, so it's definitely different behavior than expected. That being said, I just tested it on Rails 4.2.3 and it works as expected, so I'm not

[Rails-core] Bug in HashWithIndifferentAccess?

2015-09-01 Thread Yves-Eric
Hi all, I think I have stumbled upon a bug in HashWithIndifferentAccess. I cannot pinpoint it exactly, but I have written a small test case that exhibits the buggy behavior: https://gist.github.com/yemartin/54db7476aa41b85e7eb8 The same code works fine if we use a regular Hash for `@store`

Re: [Rails-core] Bug in HashWithIndifferentAccess?

2015-09-01 Thread Mohamed Wael Khobalatte
You are not storing waldo where you think you are storing it. On first access `@store[:foo]` is already initialized, so it does away with your waldo assignment, then on second and third access you are populating it. `my_hash[:baz]` is `@store[:foo][:baz]`. On Tue, Sep 1, 2015 at 12:29 PM,