[ruby-core:73916] [Ruby trunk Bug#12098][Closed] Accessing a two level hash with invalid keys ignores the right side of expression

From: nobu@...
Date: 2016-02-22 01:09:15 UTC
List: ruby-core #73916
Issue #12098 has been updated by Nobuyoshi Nakada.

Status changed from Open to Closed
Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED

Fixed by r53485.

----------------------------------------
Bug #12098: Accessing a two level hash with invalid keys ignores the right side of expression
https://bugs.ruby-lang.org/issues/12098#change-57072

* 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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next