[#122258] [Ruby Misc#21367] Remove link to ruby-doc.org from www.ruby-lang.org/en/documentation/ — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>
Issue #21367 has been reported by p8 (Petrik de Heus).
11 messages
2025/05/23
[ruby-core:122304] [Ruby Bug#21375] Set[] does not call #initialize
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2025-05-27 06:09:34 UTC
List:
ruby-core #122304
Issue #21375 has been updated by nobu (Nobuyoshi Nakada).
I'm not sure if it is intentional or not.
If unintentional, this patch may fix it.
```diff
diff --git a/set.c b/set.c
index 8676c62cd35..c41781c446f 100644
--- a/set.c
+++ b/set.c
@@ -409,13 +409,7 @@ static VALUE
set_s_create(int argc, VALUE *argv, VALUE klass)
{
VALUE set = set_alloc_with_size(klass, argc);
- set_table *table = RSET_TABLE(set);
- int i;
-
- for (i=0; i < argc; i++) {
- set_table_insert_wb(table, set, argv[i], NULL);
- }
-
+ rb_obj_call_init(set, argc, argv);
return set;
}
```
----------------------------------------
Bug #21375: Set[] does not call #initialize
https://bugs.ruby-lang.org/issues/21375#change-113447
* Author: Ethan (Ethan -)
* Status: Open
* ruby -v: ruby 3.5.0dev (2025-05-26T17:42:35Z master 909a0daab6) +PRISM [x86_64-darwin22]
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
I have a subclass of Set that overrides #initialize. Following #21216, .new does call #initialize but .[] does not.
```ruby
class MySet < Set
def initialize(enum = nil)
compare_by_identity
super
end
end
MySet.new.compare_by_identity?
# => true
MySet[].compare_by_identity?
# => false
```
--
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/lists/ruby-core.ml.ruby-lang.org/