[#59462] [ruby-trunk - Bug #9342][Open] [PATCH] SizedQueue#clear does not notify waiting threads in Ruby 1.9.3 — "jsc (Justin Collins)" <redmine@...>

9 messages 2014/01/02

[#59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly — "normalperson (Eric Wong)" <normalperson@...>

11 messages 2014/01/02

[#59498] [ruby-trunk - Bug #9352][Open] [BUG] rb_sys_fail_str(connect(2) for [fe80::1%lo0]:3000) - errno == 0 — "kain (Claudio Poli)" <claudio@...>

10 messages 2014/01/03

[#59516] [ruby-trunk - Bug #9356][Open] TCPSocket.new does not seem to handle INTR — "charliesome (Charlie Somerville)" <charliesome@...>

48 messages 2014/01/03

[#59538] [ruby-trunk - Feature #9362][Assigned] Minimize cache misshit to gain optimal speed — "shyouhei (Shyouhei Urabe)" <shyouhei@...>

33 messages 2014/01/03
[#59541] Re: [ruby-trunk - Feature #9362][Assigned] Minimize cache misshit to gain optimal speed — Eric Wong <normalperson@...> 2014/01/04

Hi, I noticed a trivial typo in array.c, and it fails building struct.c

[#59582] Re: [ruby-trunk - Feature #9362][Assigned] Minimize cache misshit to gain optimal speed — SASADA Koichi <ko1@...> 2014/01/06

Intersting challenge.

[#59583] [ruby-trunk - Bug #9367][Open] REXML::XmlDecl doesn't use user specified quotes — "bearmini (Takashi Oguma)" <bear.mini@...>

12 messages 2014/01/06

[#59642] [ruby-trunk - Bug #9384][Open] Segfault in ruby 2.1.0p0 — "cbliard (Christophe Bliard)" <christophe.bliard@...>

11 messages 2014/01/08

[#59791] About unmarshallable DRb objects life-time — Rodrigo Rosenfeld Rosas <rr.rosas@...>

A while ago I created a proof-of-concept that I intended to use in my

16 messages 2014/01/15
[#59794] Re: About unmarshallable DRb objects life-time — Eric Hodel <[email protected]> 2014/01/15

On 15 Jan 2014, at 11:58, Rodrigo Rosenfeld Rosas <[email protected]> =

[#59808] Re: About unmarshallable DRb objects life-time — Rodrigo Rosenfeld Rosas <rr.rosas@...> 2014/01/16

Em 15-01-2014 19:42, Eric Hodel escreveu:

[#59810] Re: About unmarshallable DRb objects life-time — Eric Hodel <[email protected]> 2014/01/16

On 16 Jan 2014, at 02:15, Rodrigo Rosenfeld Rosas <[email protected]> =

[#59826] Re: About unmarshallable DRb objects life-time — Rodrigo Rosenfeld Rosas <rr.rosas@...> 2014/01/17

Em 16-01-2014 19:43, Eric Hodel escreveu:

[#59832] Re: About unmarshallable DRb objects life-time — Eric Hodel <[email protected]> 2014/01/17

On 17 Jan 2014, at 04:22, Rodrigo Rosenfeld Rosas <[email protected]> =

[ruby-core:59799] [ruby-trunk - Bug #9311] module_function breaks on `singleton_class?`

From: nobu@...
Date: 2014-01-16 00:08:26 UTC
List: ruby-core #59799
Issue #9311 has been updated by Nobuyoshi Nakada.


 Issue #9311 has been updated by Nobuyoshi Nakada.
 
 Status changed from Open to Rejected
 
 `Module.singleton_class?` is a method of `Module`, not defined in `Module` instances.
 Other `singleton_`* methods are defined in `Kernel` as instance methods.
 
 ----------------------------------------
 Bug #9311: module_function breaks on `singleton_class?`
 https://bugs.ruby-lang.org/issues/9311#change-44370
 
 * Author: Chris Heald
 * Status: Rejected
 * Priority: Normal
 * Assignee: 
 * Category: 
 * Target version: 
 * ruby -v: -
 * Backport: 
 ----------------------------------------
 =begin
 When trying to use Sass 3.3.0-rc2 with Rails 3.x, an error similar to the one below is produced:
 
     [6] pry(Sass::Util)> Sass::Util.methods.grep /singleton_class/
     => [:singleton_class?, :singleton_class]
     [7] pry(Sass::Util)> Sass::Util.method_function :singleton_class?
     NoMethodError: undefined method `method_function' for Sass::Util:Module
     from (pry):6:in `<module:Util>'
 
 This is actually pretty trivially reproduced via:
 
     2.1.0 :001 > module Foo
     2.1.0 :002?>   methods.grep(/singleton/).each {|x| module_function x }
     2.1.0 :003?>   end
     NameError: undefined method `singleton_class?' for module `Foo'
             from (irb):2:in `module_function'
             from (irb):2:in `block in <module:Foo>'
             from (irb):2:in `each'
             from (irb):2:in `<module:Foo>'
             from (irb):1
             from /usr/local/rvm/rubies/ruby-2.1.0/bin/irb:11:in `<main>'
 
 Now, Sass performs the following:
 
     (Sass::Util.methods - Module.methods).each {|method| module_function method }
 
 This succeeds if you don't include ActiveSupport, but ActiveSupport extends Class with the following:
 
     class Class
       private
       def singleton_class?
         ancestors.first != self
       end
     end
 
 This causes `singleton_class?` to no longer show in the `Module.methods` list (I suspect because of the new method cache invalidation stuff?):
 
     2.1.0 :001 > Module.methods.sort
      => [... :singleton_class, :singleton_class?, :singleton_method, :singleton_methods, :superclass, ...]
     2.1.0 :002 > class Class
     2.1.0 :003?>         private
     2.1.0 :004?>         def singleton_class?
     2.1.0 :005?>             ancestors.first != self
     2.1.0 :006?>           end
     2.1.0 :007?>       end
      => :singleton_class?
     2.1.0 :008 > Module.methods.sort
      => [... :singleton_class, :singleton_method, :singleton_methods, :superclass, ...]
      
 Since it's no longer in the Module.methods list, Sass attempts to `module_function` it and the whole thing blows up.
 
 This is fixable in both Sass and ActiveSupport (which I'll file tickets for), but it feels like this is a Ruby bug. Doing something similar in 2.0 (which doesn't have `singleton_class?`) results in the following:
 
     2.0.0p247 :001 > class Class
     2.0.0p247 :002?>   private
     2.0.0p247 :003?>   def singleton_class
     2.0.0p247 :004?>     false
     2.0.0p247 :005?>     end
     2.0.0p247 :006?>   end
      => nil
     2.0.0p247 :007 > module Foo
     2.0.0p247 :008?>   module_function :singleton_class
     2.0.0p247 :009?>   end
      => Foo
     2.0.0p247 :010 > Foo.singleton_class
      => #<Class:Foo>
 
 Which seems to work just fine.
 =end
 
 
 ---Files--------------------------------
 bug9311-test.diff (568 Bytes)
 
 
 -- 
 http://bugs.ruby-lang.org/

----------------------------------------
Bug #9311: module_function breaks on `singleton_class?`
https://bugs.ruby-lang.org/issues/9311#change-44372

* Author: Chris Heald
* Status: Rejected
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: -
* Backport: 
----------------------------------------
=begin
When trying to use Sass 3.3.0-rc2 with Rails 3.x, an error similar to the one below is produced:

    [6] pry(Sass::Util)> Sass::Util.methods.grep /singleton_class/
    => [:singleton_class?, :singleton_class]
    [7] pry(Sass::Util)> Sass::Util.method_function :singleton_class?
    NoMethodError: undefined method `method_function' for Sass::Util:Module
    from (pry):6:in `<module:Util>'

This is actually pretty trivially reproduced via:

    2.1.0 :001 > module Foo
    2.1.0 :002?>   methods.grep(/singleton/).each {|x| module_function x }
    2.1.0 :003?>   end
    NameError: undefined method `singleton_class?' for module `Foo'
            from (irb):2:in `module_function'
            from (irb):2:in `block in <module:Foo>'
            from (irb):2:in `each'
            from (irb):2:in `<module:Foo>'
            from (irb):1
            from /usr/local/rvm/rubies/ruby-2.1.0/bin/irb:11:in `<main>'

Now, Sass performs the following:

    (Sass::Util.methods - Module.methods).each {|method| module_function method }

This succeeds if you don't include ActiveSupport, but ActiveSupport extends Class with the following:

    class Class
      private
      def singleton_class?
        ancestors.first != self
      end
    end

This causes `singleton_class?` to no longer show in the `Module.methods` list (I suspect because of the new method cache invalidation stuff?):

    2.1.0 :001 > Module.methods.sort
     => [... :singleton_class, :singleton_class?, :singleton_method, :singleton_methods, :superclass, ...]
    2.1.0 :002 > class Class
    2.1.0 :003?>         private
    2.1.0 :004?>         def singleton_class?
    2.1.0 :005?>             ancestors.first != self
    2.1.0 :006?>           end
    2.1.0 :007?>       end
     => :singleton_class?
    2.1.0 :008 > Module.methods.sort
     => [... :singleton_class, :singleton_method, :singleton_methods, :superclass, ...]
     
Since it's no longer in the Module.methods list, Sass attempts to `module_function` it and the whole thing blows up.

This is fixable in both Sass and ActiveSupport (which I'll file tickets for), but it feels like this is a Ruby bug. Doing something similar in 2.0 (which doesn't have `singleton_class?`) results in the following:

    2.0.0p247 :001 > class Class
    2.0.0p247 :002?>   private
    2.0.0p247 :003?>   def singleton_class
    2.0.0p247 :004?>     false
    2.0.0p247 :005?>     end
    2.0.0p247 :006?>   end
     => nil
    2.0.0p247 :007 > module Foo
    2.0.0p247 :008?>   module_function :singleton_class
    2.0.0p247 :009?>   end
     => Foo
    2.0.0p247 :010 > Foo.singleton_class
     => #<Class:Foo>

Which seems to work just fine.
=end


---Files--------------------------------
bug9311-test.diff (568 Bytes)


-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next