From: michel.boaventura@... Date: 2016-02-23T13:29:23+00:00 Subject: [ruby-core:73952] [Ruby trunk Bug#12098] Accessing a two level hash with invalid keys ignores the right side of expression Issue #12098 has been updated by Michel Boaventura. Nobuyoshi Nakada wrote: > Fixed by r53485. Thank you! I should have tested against master. Sorry about that :) ---------------------------------------- Bug #12098: Accessing a two level hash with invalid keys ignores the right side of expression https://bugs.ruby-lang.org/issues/12098#change-57101 * Author: Michel Boaventura * Status: Closed * Priority: Normal * Assignee: * ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux] * Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED ---------------------------------------- Ruby 2.3 has a strange issue with hashes: On Ruby 2.2: ~~~ irb(main):001:0> foo = {} => {} irb(main):002:0> foo[:bla][:ble] = anything really NameError: undefined local variable or method `really' for main:Object from (irb):2 ~~~ On Ruby 2.3: ~~~ irb(main):001:0> foo = {} => {} irb(main):002:0> foo[:bla][:ble] = anything really => nil ~~~ But: ~~~ irb(main):001:0> foo = {} => {} irb(main):002:0> foo[:bar] = anything really NameError: undefined local variable or method `really' for main:Object from (irb):2 ~~~ You can put anything which is syntactically valid on the right side and ruby 2.3 will happily ignores it. -- https://bugs.ruby-lang.org/ Unsubscribe: