ioquatix (Samuel Williams) wrote in #note-6: > Implemented in [https://github.com/ruby/ruby/pull/18911](https://github.com/ruby/ruby/pull/18911) Great, this will make semantics match more closely and ensure reliable behavior. ioquatix ...Eregon (Benoit Daloze)
Cover constant &&=, constant path writes and operator assignments failing on the namespace, bare constant operator assignments failing in the operator or on the value, instance and class variable operator assignments, index and attribute...Eregon (Benoit Daloze)
For `Const += value`, parse.y builds a NODE_CDECL whose value is an OPCALL on a NODE_CONST read node, and that read node only spanned the constant name. The NameError for an undefined constant is raised by that read, so Thread::Backtrace...Eregon (Benoit Daloze)
(apologies for the reply partly written by AI, the base argument is mine, and I found a problematic case with raw addresses for slices) Right, that "every buffer is a slice of an underlying allocation" model is exactly the right frami...Eregon (Benoit Daloze)
Applied in changeset commit:git|8040d0659931d7230cad458429030492add43faf. ---------- [Bug #22302] Emit a line event for a method's implicit nil return in parse.y reduce_nodes eliminated a bare `nil` in a method's tail (value) position ...Eregon (Benoit Daloze)
reduce_nodes eliminated a bare `nil` in a method's tail (value) position down to an empty method body, so parse.y emitted no :line event and recorded no line coverage for that line, even though it is executed: def m nil # <...Eregon (Benoit Daloze)
+1 to what John said. Making the semantics simpler has been wanted for a long time here, let's not add some complication with blocking Fibers or some inheritance of sort. I think no one writes code like `g = "hello".gsub(/(.)/); g....Eregon (Benoit Daloze)
kou (Kouhei Sutou) wrote in #note-26: > Eregon (Benoit Daloze) wrote in #note-22: > ... The IO::Buffer might be GC'd or free'd, and the slice_string result live longer. In Rust terms, this is basically invalid ownership.Eregon (Benoit Daloze)