Actions
Bug #9448
closedAssignment with overridden []= returns return value of method rather than new value
Description
When calling []= the assignment will return the return value of the []= method, rather than the value of the right-hand side, which is the behaviour in 2.1.0-p0, 2.0.0-p353 and 1.9.3-p484.
Example code:
class Animal
def []=(key, new_value)
"walrus"
end
end
animal = Animal.new
puts animal['current'] = "unicorn"
In trunk, this returns 'walrus'. In other releases (tested in the ones mentioned above), this returns 'unicorn'.
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0