[RubySpec #3154] Hidden allocate, new and superclass methods on 1.9.2

RubySpec #3154: Hidden allocate, new and superclass methods on 1.9.2
http://redmine.ruby-lang.org/issues/show/3154

e$B5/I<<Te(B: ujihisa .
e$B%9%F!<%?%9e(B: Open, e$BM%@hEYe(B: Normal
e$B%+%F%4%je(B: core, Target version: 1.9.2

ruby 1.9.2e$B$+$i!“$”$k%/%i%9$KBP$7$F$I$N$=$N?F%/%i%9$+$i$be(Ballocate
new
superclasse$B$Ne(B3e$B$D$N%a%=%C%I$,e(Bpublic_methods(false)e$B$N0lMw$K=P$F$3$J$/$J$C$?$N$G$9$,!"$3$l$O0U?^E*$J;EMMJQ99$J$N$G$7$g$&$+!#e(B

$ ruby192 -ve 'class A; end; A.ancestors.map {|i| p [i, 

i.public_methods(false).sort] }’
ruby 1.9.2dev (2010-04-02 trunk 27162) [i386-darwin9.8.0]
[A, []]
[Object, []]
[Kernel, [:Array, :Complex, :Float, :Integer, :Rational, :String,
:callee, :method, :`, :abort, :at_exit, :autoload, :autoload?,
:binding, :block_given?, :caller, :catch, :eval, :exec, :exit, :exit!,
:fail, :fork, :format, :gets, :global_variables, :iterator?, :lambda,
:load, :local_variables, :loop, :open, :p, :print, :printf, :proc,
:putc, :puts, :raise, :rand, :readline, :readlines, :require,
:require_relative, :select, :set_trace_func, :sleep, :spawn, :sprintf,
:srand, :syscall, :system, :test, :throw, :trace_var, :trap,
:untrace_var, :warn]]
[BasicObject, []]

RubySpece$B$r=$@5$7$F$$$F$3$NJQ99$K5$$,$D$-$^$7$?!#e(BChangeLoge$B$d:9J,$d%a!<%j%s%0%j%9%H$N2a5n%m%0$de(BRedMinee$B$r8+$?$b$N$N$I$NItJ,$G$I$N$h$&$J0U?^$G$3$NJQ99$,$J$5$l$?$N$+J,$+$i$J$+$C$?$?$a!"$3$3$G<ALd$5$;$F$/$@$5$$!#e(B

e$B$3$l$,0U?^$7$J$$JQ99$G$“$C$?>l9g!”<+%/%i%9$H$=$NA4$F$N?F%/%i%9$Ne(Bpublic_methodse$B$de(Bsingleton_methodse$B$K5s$2$i$l$F$$$J$$$K$b4X$o$i$:%Q%V%j%C%/$K8F$S=P$;$k%a%=%C%I$,$“$k$N$O!”$A$g$C$HIT;W5D$J5sF0$N$h$&$K46$8$^$9!#e(B

e$B%A%1%C%He(B #3154 e$B$,99?7$5$l$^$7$?!#e(B (by Yusuke E.)

e$B1sF#$G$9!#e(B

2010e$BG/e(B4e$B7ne(B16e$BF|e(B7:24 ujihisa . [email protected]:

ruby 1.9.2e$B$+$i!“$”$k%/%i%9$KBP$7$F$I$N$=$N?F%/%i%9$+$i$be(Ballocate new superclasse$B$Ne(B3e$B$D$N%a%=%C%I$,e(Bpublic_methods(false)e$B$N0lMw$K=P$F$3$J$/$J$C$?$N$G$9$,!"$3$l$O0U?^E*$J;EMMJQ99$J$N$G$7$g$&$+!#e(B

e$B$9$_$^$;$s!"<B$O0JA0$+$iG’<1$7$F$$$F!"D>$5$J$-$c$J!<$H$O;W$C$Fe(B
e$B$^$7$?!#e(B

e$BA0$KD4$Y$?;~$Oe(B [ruby-core:28837] [Bug #2993] e$B$N$?$a$Ne(B r27085
e$B$Ke(B
e$B$h$k1F6A$H$N<+J,Fb7kO@$G$7$?!#e(B
[ruby-core:28837] e$B$Oe(B instance_methods
e$B$r=$@5$9$k$3$H$r0U?^$7$Fe(B
e$B$$$?$?$a!"e(Bpublic_methods
e$B$K1F6A$,=P$?$N$O0U?^$O$7$F$$$J$+$C$?$He(B
e$B;W$$$^$9!#e(B

e$B$=$l$G$b$J$<Js9p$7$F$$$J$+$C$?$+$H$$$&$H!"$3$l$O85!9$NJ}$,%P%0e(B
e$B$@$C$?$H;W$o$l$k$?$a$G$9!#e(B

e$B$3$l$,0U?^$7$J$$JQ99$G$“$C$?>l9g!”<+%/%i%9$H$=$NA4$F$N?F%/%i%9$Ne(Bpublic_methodse$B$de(Bsingleton_methodse$B$K5s$2$i$l$F$$$J$$$K$b4X$o$i$:%Q%V%j%C%/$K8F$S=P$;$k%a%=%C%I$,$“$k$N$O!”$A$g$C$HIT;W5D$J5sF0$N$h$&$K46$8$^$9!#e(B

public_methods(true) e$B$J$i$A$c$s$H=P$F$/$k$N$GLdBj$J$$$G$9!#e(B

$ ./ruby -e ‘class A; end; p
A.public_methods(true).sort.grep(/super/)’
[:superclass]

public_methods(false) e$B$Oe(B A
e$B$KD>@=jB0$9$k%a%=%C%I0lMw$rF@$^$9e(B
e$B$,!“e(Bsuperclass e$B$?$A$Oe(B Class
e$B$K=jB0$9$k$?$a!”=P$F$3$J$/$F@5>oe(B
e$B$G$9!#e(B
1.public_methods(false) e$B$Ke(B floor e$B$O=P$F$-$^$;$s$,!"e(B1.floor
e$B$,e(B
e$BF0$/$N$HF1$8$G$9e(B (Numeric#floor) e$B!#e(B

e$B$H$$$&$o$1$G!"e(Brubyspec
e$BB&$r=$@5$7$H$$$F$b$i$($^$9$G$7$g$&$+!#e(B
1.8 e$B$Ke(B backport e$B$5$l$k$+$I$&$+$O!"KNIt$5$s$de(B knu
e$B$5$s$KJ9$$$Fe(B
e$B$/$@$5$$!#e(B


Yusuke ENDOH <[email protected]

http://redmine.ruby-lang.org/issues/show/3154