diff --git a/struct.c b/struct.c index f68c496728..e9d9460436 100644 --- a/struct.c +++ b/struct.c @@ -211,24 +211,6 @@ rb_struct_s_members_m(VALUE klass) return rb_ary_dup(members); } -/* - * call-seq: - * members -> array_of_symbols - * - * Returns the member names from +self+ as an array: - * - * Customer = Struct.new(:name, :address, :zip) - * Customer.new.members # => [:name, :address, :zip] - * - * Related: #to_a. - */ - -static VALUE -rb_struct_members_m(VALUE obj) -{ - return rb_struct_s_members_m(rb_obj_class(obj)); -} - VALUE rb_struct_getmember(VALUE obj, ID id) { @@ -1751,7 +1733,6 @@ rb_data_s_def(int argc, VALUE *argv, VALUE klass) #define rb_data_s_members_m rb_struct_s_members_m - /* * call-seq: * new(*args) -> instance @@ -2024,21 +2005,6 @@ rb_data_inspect(VALUE s) #define rb_data_to_h rb_struct_to_h -/* - * call-seq: - * members -> array_of_symbols - * - * Returns the member names from +self+ as an array: - * - * Measure = Data.define(:amount, :unit) - * distance = Measure[10, 'km'] - * - * distance.members #=> [:amount, :unit] - * - */ - -#define rb_data_members_m rb_struct_members_m - /* * call-seq: * deconstruct -> array @@ -2244,7 +2210,6 @@ InitVM_Struct(void) rb_define_method(rb_cStruct, "filter", rb_struct_select, -1); rb_define_method(rb_cStruct, "values_at", rb_struct_values_at, -1); - rb_define_method(rb_cStruct, "members", rb_struct_members_m, 0); rb_define_method(rb_cStruct, "dig", rb_struct_dig, -1); rb_define_method(rb_cStruct, "deconstruct", rb_struct_to_a, 0); @@ -2269,9 +2234,7 @@ InitVM_Struct(void) rb_define_method(rb_cData, "inspect", rb_data_inspect, 0); rb_define_alias(rb_cData, "to_s", "inspect"); - rb_define_method(rb_cData, "to_h", rb_data_to_h, 0); - - rb_define_method(rb_cData, "members", rb_data_members_m, 0); + rb_define_method(rb_cData, "to_h", rb_data_to_h, 0); rb_define_method(rb_cData, "deconstruct", rb_data_deconstruct, 0); rb_define_method(rb_cData, "deconstruct_keys", rb_data_deconstruct_keys, 1); diff --git a/test/ruby/test_data.rb b/test/ruby/test_data.rb index 3cafb365ed..b0fde8ed60 100644 --- a/test/ruby/test_data.rb +++ b/test/ruby/test_data.rb @@ -108,7 +108,6 @@ def test_instance_behavior test = klass.new(1, 2) assert_equal(1, test.foo) assert_equal(2, test.bar) - assert_equal(%i[foo bar], test.members) assert_equal(1, test.public_send(:foo)) assert_equal(0, test.method(:foo).arity) assert_equal([], test.method(:foo).parameters) @@ -226,7 +225,6 @@ def test_memberless assert_not_equal(Data.define.new, test) assert_equal('#', test.inspect) - assert_equal([], test.members) assert_equal({}, test.to_h) end diff --git a/test/ruby/test_struct.rb b/test/ruby/test_struct.rb index 78a81c5200..fab1609e4b 100644 --- a/test/ruby/test_struct.rb +++ b/test/ruby/test_struct.rb @@ -71,8 +71,7 @@ def test_attrset_id def test_members klass = @Struct.new(:a) o = klass.new(1) - assert_equal([:a], klass.members) - assert_equal([:a], o.members) + assert_equal([:a], klass.members) end def test_ref @@ -97,7 +96,7 @@ def test_struct_new assert_nothing_raised { @Struct.new(:a) { } } assert_raise(RuntimeError) { @Struct.new(:a) { raise } } - assert_equal([:utime, :stime, :cutime, :cstime], Process.times.members) + assert_equal([:utime, :stime, :cutime, :cstime], Process.times.class.members) end def test_struct_new_with_hash