[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:902

From: SASADA Koichi <ko1 atdot.net>
Date: Wed, 15 Feb 2006 20:01:34 +0900
Subject: [yarv-dev:902] fixed> Re: open> private alias make original method private

 ささだです。

Minero Aoki wrote:
>>  実装を変えたのでこの制限を無くしました。これに伴い、visibility は、そ
>> のメソッドのものを利用することにしました。たとえば、m() が private だっ
>> たら、m1、m2 が private になります。
> 
> 恐らくこの変更に関係があると思うのですが、lib/rss のテストが
> 失敗するようになりました。以下のプログラムで m も private に
> なるのが原因です。
> 
> class C
>   def m
>   end
>   alias mm m
>   private mm
> end
> 
> p C.new.m   # private method `m' called for #<C:0x00002a95eae8c0> (NoMethodError)

 対応しました。alias で複製を作っても、visibility を格納していた部分は
共有していたままでした。

-- 
// SASADA Koichi at atdot dot net


-- 
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

       814 2006-02-07 00:22 [aamine loveruby.net ] open> def in def makes method private   
       838 2006-02-11 23:38 ┗[ko1 atdot.net       ] fixed> Re: open> def in def makes method private
       897 2006-02-15 19:13  ┗[ko1 atdot.net       ]                                     
       899 2006-02-15 19:34   ┣[aamine loveruby.net ] open> private alias make original method private
       900 2006-02-15 19:39   ┃┣[aamine loveruby.net ] Re: private alias make original method private
       901 2006-02-15 19:47   ┃┃┗[aamine loveruby.net ]                               
->     902 2006-02-15 20:01   ┃┗[ko1 atdot.net       ] fixed> Re: open> private alias make original method private
       904 2006-02-15 22:57   ┗[matz ruby-lang.org  ]