[#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:60441] [ruby-trunk - Feature #9453] Return symbols of defined methods for `attr` and friends
From:
avdi@...
Date:
2014-02-04 05:22:31 UTC
List:
ruby-core #60441
Issue #9453 has been updated by Avdi Grimm.
There are a number of reasons I use them, but the most obvious is that a
misspelled accessor method will raise NoMethod error, whereas a misspelled
@ivar reference will silently return nil.
On Mon, Feb 3, 2014 at 1:44 PM, <sawadatsuyoshi@gmail.com> wrote:
> Issue #9453 has been updated by Tsuyoshi Sawada.
>
>
> What is the point of defining a private accessor method? You can directly
> refer to the instance variables without using accessors.
>
> ----------------------------------------
> Feature #9453: Return symbols of defined methods for `attr` and friends
> https://bugs.ruby-lang.org/issues/9453#change-44898
>
> * 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/
>
--
Avdi Grimm
http://avdi.org
I only check email twice a day. to reach me sooner, go to
http://awayfind.com/avdi
----------------------------------------
Feature #9453: Return symbols of defined methods for `attr` and friends
https://bugs.ruby-lang.org/issues/9453#change-44905
* 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/