diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-08-29 11:47:20 +0900 |
---|---|---|
committer | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-08-29 18:34:09 +0900 |
commit | 3df37259d81d9fc71f8b4f0b8d45dc9d0af81ab4 (patch) | |
tree | 961d975a0191b8385417c8107149a9610aa1f6dc /string.c | |
parent | bfe5d22f89a871b6c1cb556c0115145ade9fe286 (diff) |
drop-in type check for rb_define_singleton_method
We can check the function pointer passed to
rb_define_singleton_method like how we do so in rb_define_method.
Doing so revealed many arity mismatches.
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 24 |
1 files changed, 23 insertions, 1 deletions
@@ -11197,6 +11197,28 @@ rb_to_symbol(VALUE name) } /* + * call-seq: + * Symbol.all_symbols => array + * + * Returns an array of all the symbols currently in Ruby's symbol + * table. + * + * Symbol.all_symbols.size #=> 903 + * Symbol.all_symbols[1,20] #=> [:floor, :ARGV, :Binding, :symlink, + * :chown, :EOFError, :$;, :String, + * :LOCK_SH, :"setuid?", :$<, + * :default_proc, :compact, :extend, + * :Tms, :getwd, :$=, :ThreadGroup, + * :wait2, :$>] + */ + +static VALUE +sym_all_symbols(VALUE _) +{ + return rb_sym_all_symbols(); +} + +/* * A String object holds and manipulates an arbitrary sequence of * bytes, typically representing characters. String objects may be created * using String::new or as literals. @@ -11382,7 +11404,7 @@ Init_String(void) rb_include_module(rb_cSymbol, rb_mComparable); rb_undef_alloc_func(rb_cSymbol); rb_undef_method(CLASS_OF(rb_cSymbol), "new"); - rb_define_singleton_method(rb_cSymbol, "all_symbols", rb_sym_all_symbols, 0); /* in symbol.c */ + rb_define_singleton_method(rb_cSymbol, "all_symbols", sym_all_symbols, 0); rb_define_method(rb_cSymbol, "==", sym_equal, 1); rb_define_method(rb_cSymbol, "===", sym_equal, 1); |