[#60404] is RB_GC_GUARD needed in rb_io_syswrite? — Eric Wong <normalperson@...>
I haven't gotten it to crash as-is, but it seems like we need to
4 messages
2014/02/01
[#60682] volatile usages — Eric Wong <normalperson@...>
Hi all, I went ahead and removed some use of volatile which were once
5 messages
2014/02/13
[#60794] [RFC] rearrange+pack vtm and time_object structs — Eric Wong <normalperson@...>
Extracted from addendum on top of Feature #9362 (cache-aligned objects).
4 messages
2014/02/16
[#61139] [ruby-trunk - Feature #9577] [Open] [PATCH] benchmark/driver.rb: align columns in text output — normalperson@...
Issue #9577 has been reported by Eric Wong.
3 messages
2014/02/28
[ruby-core:60426] [ruby-trunk - Feature #9453] Return symbols of defined methods for `attr` and friends
From:
eregontp@...
Date:
2014-02-03 15:13:25 UTC
List:
ruby-core #60426
Issue #9453 has been updated by Benoit Daloze.
private *attr_reader(:images, :key_map, :window, :screen_manager, :animations)
does not look so nice to me (the parens and the explicit splat).
Maybe #private should accept an Array of Symbols so:
private attr_reader :images, :key_map, :window, :screen_manager, :animations
If there are so much ":", it might also be worth using %i:
private attr_reader %i[images key_map window screen_manager animations]
but then attr_reader would also need to accept an Array of Symbols.
----------------------------------------
Feature #9453: Return symbols of defined methods for `attr` and friends
https://bugs.ruby-lang.org/issues/9453#change-44897
* Author: Joshua Ballanco
* Status: Open
* Priority: Normal
* Assignee:
* Category: core
* Target version:
----------------------------------------
With Ruby 2.1 returning a symbol from `def` and `define_method`, that leaves `attr`, `attr_reader`, `attr_writer`, and `attr_accessor` as ways to define methods that still return nil. This is unfortunate, because it prevents the use of method decorators developed to work with `def` from also working with the `attr*` methods. Because these mechanisms can define more than one method, the return values would need to be arrays of symbols.
For an example of how this could be useful in real-world code, consider this sample from James Edward Gray II's Warehouse Keeper example (https://github.com/JEG2/warehouse_keeper):
attr_reader :images, :key_map, :window, :screen_manager, :animations
private :images, :key_map, :window, :screen_manager, :animations
if `attr_reader` returned symbols, then this could be simplified to:
private *attr_reader(:images, :key_map, :window, :screen_manager, :animations)
I've attached a patch that implements this change and includes a few tests. For those who use git, I've also submitted this as a pull request here: https://github.com/ruby/ruby/pull/517
---Files--------------------------------
attr_rv.patch (3.23 KB)
--
http://bugs.ruby-lang.org/