diff options
| author | Jeremy Evans <code@jeremyevans.net> | 2025-05-30 18:25:58 -0700 |
|---|---|---|
| committer | Jeremy Evans <code@jeremyevans.net> | 2025-06-06 01:24:05 +0900 |
| commit | 0b07d2a1e32a456fc302c8d970fa85782bdb98ce (patch) | |
| tree | e8d65e3f767506fdebfdf3ba20c4dd74d946c70f /common.mk | |
| parent | 2f80117ce48f83a709989a0d88eb712b123ef371 (diff) | |
Deprecate passing arguments to Set#to_set and Enumerable#to_set
Array#to_a, Hash#to_h, Enumerable#to_a, and Enumerable#to_h do not
allow you to specify subclasses. This has undesired behavior when
passing non-Set subclasses. All of these are currently allowed, and
none make sense:
```ruby
enum = [1,2,3].to_enum
enum.to_set(Hash)
enum.to_set(Struct.new("A", :a))
enum.to_set(ArgumentError)
enum.to_set(Thread){}
```
Users who want to create instances of a subclass of Set from an
enumerable should pass the enumerable to SetSubclass.new instead of
using to_set.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/13489
Diffstat (limited to 'common.mk')
| -rw-r--r-- | common.mk | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -16792,6 +16792,7 @@ set.$(OBJEXT): $(top_srcdir)/internal/array.h set.$(OBJEXT): $(top_srcdir)/internal/basic_operators.h set.$(OBJEXT): $(top_srcdir)/internal/bits.h set.$(OBJEXT): $(top_srcdir)/internal/compilers.h +set.$(OBJEXT): $(top_srcdir)/internal/error.h set.$(OBJEXT): $(top_srcdir)/internal/gc.h set.$(OBJEXT): $(top_srcdir)/internal/hash.h set.$(OBJEXT): $(top_srcdir)/internal/imemo.h @@ -16801,6 +16802,7 @@ set.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h set.$(OBJEXT): $(top_srcdir)/internal/serial.h set.$(OBJEXT): $(top_srcdir)/internal/set_table.h set.$(OBJEXT): $(top_srcdir)/internal/static_assert.h +set.$(OBJEXT): $(top_srcdir)/internal/string.h set.$(OBJEXT): $(top_srcdir)/internal/symbol.h set.$(OBJEXT): $(top_srcdir)/internal/variable.h set.$(OBJEXT): $(top_srcdir)/internal/vm.h |
