Project

General

Profile

Backport #9403

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

`__callee__` __callee__ always contains the value `:call` :call in any method of a class derived from `Delegator`. Delegator. This is new behavior in 2.1, and is present in trunk. 

 Using the attached script, here's the output on 1.9.3, 2.0, 2.1, and trunk: 

 ``` 
 Ruby 1.9.3 
 __callee__ in Proxy#foo: foo 
 __callee__ in Target#foo: foo 
 __callee__ in DelegateClassProxy#foo: foo 
 __callee__ in Target#foo: foo 
 Ruby 2.0.0 
 __callee__ in Proxy#foo: foo 
 __callee__ in Target#foo: foo 
 __callee__ in DelegateClassProxy#foo: foo 
 __callee__ in Target#foo: foo 
 Ruby 2.1.0 
 __callee__ in Proxy#foo: call 
 __callee__ in Target#foo: foo 
 __callee__ in DelegateClassProxy#foo: call 
 __callee__ in Target#foo: foo 
 Ruby 2.2.0 
 __callee__ in Proxy#foo: call 
 __callee__ in Target#foo: foo 
 __callee__ in DelegateClassProxy#foo: call 
 __callee__ in Target#foo: foo 
 ```

Back