[#111712] [Ruby master Feature#19322] Support spawning "private" child processes — "kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core" <ruby-core@...>
SXNzdWUgIzE5MzIyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtqdHNhbmFrdHNpZGlzIChLSiBUc2Fu
14 messages
2023/01/07
[ruby-core:111741] [Ruby master Feature#19261] `Data#members` is not important
From:
"fabiormoura (Fabio Moura Maia) via ruby-core" <ruby-core@...>
Date:
2023-01-08 18:28:46 UTC
List:
ruby-core #111741
Issue #19261 has been updated by fabiormoura (Fabio Moura Maia).
File data-members-remove-method.patch added
I've attached a patch with the changes to remove the aforementioned method. Also, I run the test suite in `test_data.rb` to validate my changes but there was one test failure that I'm unable to explain. However, the test failure looks to be unrelated:
```
% bin/ruby ../ruby/test/ruby/test_data.rb
Ignoring debug-1.7.1 because its extensions are not built. Try: gem pristine debug --version 1.7.1
Ignoring rbs-2.8.3 because its extensions are not built. Try: gem pristine rbs --version 2.8.3
Loaded suite ../ruby/test/ruby/test_data
Started
.E
==============================================================================================================================================================================================================================================================
Error: test_define_edge_cases(TestData): NoMethodError: undefined method `<=' for /duplicate member/:Regexp
../ruby/test/ruby/test_data.rb:44:in `test_define_edge_cases'
41: assert_same(x, o.b!)
42:
43: assert_raise(ArgumentError) { Data.define(:x=) }
=> 44: assert_raise(ArgumentError, /duplicate member/) { Data.define(:x, :x) }
45: end
46:
47: def test_define_with_block
==============================================================================================================================================================================================================================================================
...........
```
I've not been able to reproduce the error with this simple ad-hoc script:
```
% bin/ruby -e "Data.define(:x, :x)"
-e:1:in `define': duplicate member: x (ArgumentError)
Data.define(:x, :x)
^^^^^^
from -e:1:in `<main>'
% bin/ruby -e "Data.define(:x, :x)"
-e:1:in `define': duplicate member: x (ArgumentError)
Data.define(:x, :x)
```
----------------------------------------
Feature #19261: `Data#members` is not important
https://bugs.ruby-lang.org/issues/19261#change-101144
* Author: ko1 (Koichi Sasada)
* Status: Open
* Priority: Normal
----------------------------------------
`Data#members` is defined but it is calculated by `self.class.members` (in other words, `#members` is a shorthand for `self.class.members`).
So it is better to remove this method.
```ruby
P = Data.define(:x, :y)
p P.new(1, 2).members #=> [:x, :y]
Group = Data.define(:name, :members)
gs = Group.new('SasadaFamily', %w(ko1 yuki))
p gs.members #=> ["ko1", "yuki"]
```
---Files--------------------------------
data-members-remove-method.patch (1.87 KB)
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/