[#111472] [Ruby master Bug#19274] Error installing ruby 3.2.0 on RH 8 — "aalllop (Alberto Allegue) via ruby-core" <ruby-core@...>
Issue #19274 has been reported by aalllop (Alberto Allegue).
5 messages
2022/12/28
[#111508] Data support for versions before 3.2.0 — Eustáquio Rangel via ruby-core <ruby-core@...>
I was wondering that every piece of code (gems, etc) that use the new Data =
3 messages
2022/12/29
[ruby-core:111445] [Ruby master Bug#19259] `Data#with` doesn't call `initialize` nor `initialize_copy`
From:
"Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>
Date:
2022-12-26 14:39:13 UTC
List:
ruby-core #111445
Issue #19259 has been updated by Eregon (Benoit Daloze).
zverok (Victor Shepelev) wrote in #note-6:
> Intuitively, I don't think so, but I fail to find good logical arguments :)
> (We can, for example, note that `with` is some `Data`-specific and fancy copying/duplication method, and `dup`/`clone` don't invoke `.new`)
Yeah, I think it's uncommon to call `.new` dynamically for core classes so probably no need here.
It would matter if someone defined a custom `new`, but our expectation with Data is that people define a custom initialize and not a custom new.
----------------------------------------
Bug #19259: `Data#with` doesn't call `initialize` nor `initialize_copy`
https://bugs.ruby-lang.org/issues/19259#change-100816
* Author: ko1 (Koichi Sasada)
* Status: Open
* Priority: Normal
* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN
----------------------------------------
`Data#with` doesn't call `initialize` nor `initialize_copy`.
It is confirmation request.
```ruby
class P < Data.define(:x, :y)
def initialize_copy(...)
p :initialize_copy
super
end
def initialize(...)
p :initialize
super
end
end
pt = P.new(1, 2)
#=> :initialize
pt.clone
#=> :initialize_copy
pt.dup
#=> :initialize_copy
pt.with(x: 10)
#=> N/A
```
For example, if an author of `P` add validation code, `#with` skips it.
--
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/