[#121215] [Ruby master Bug#21166] Fiber Scheduler is unable to be interrupted by `IO#close`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #21166 has been reported by ioquatix (Samuel Williams).

13 messages 2025/03/02

[#121222] [Ruby master Bug#21167] Visual Studio 2022 17.13.x couldn't build ruby.exe — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #21167 has been reported by hsbt (Hiroshi SHIBATA).

8 messages 2025/03/03

[#121234] [Ruby master Bug#21168] Prism doesn't require argument parentheses (in some cases) when a block is present but parse.y does — "Earlopain (Earlopain _) via ruby-core" <ruby-core@...>

Issue #21168 has been reported by Earlopain (Earlopain _).

8 messages 2025/03/04

[#121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) — LocoDelAssembly via ruby-core <ruby-core@...>

Issue #21187 has been reported by LocoDelAssembly (Hern=E1n Pereira).

12 messages 2025/03/17

[#121413] [Ruby Bug#21193] Inherited callback returns `nil` for `Object.const_source_location` — "eileencodes (Eileen Uchitelle) via ruby-core" <ruby-core@...>

Issue #21193 has been reported by eileencodes (Eileen Uchitelle).

15 messages 2025/03/20

[#121451] [Ruby Bug#21201] Performance regression when defining methods inside `refine` blocks — "alpaca-tc (Hiroyuki Ishii) via ruby-core" <ruby-core@...>

Issue #21201 has been reported by alpaca-tc (Hiroyuki Ishii).

8 messages 2025/03/27

[ruby-core:121427] [Ruby Bug#21193] Inherited callback returns `nil` for `Object.const_source_location`

From: "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date: 2025-03-21 08:54:32 UTC
List: ruby-core #121427
Issue #21193 has been updated by mame (Yusuke Endoh).


It was understandable that you wanted `class C < D` to behave the same as `C = Class.new(D)` for the sake of consistency.
However, the change proposed in this ticket intentionally differentiates these two behaviors, which seems to spoil the original motivation.
If we cannot make it consistent eventually, it is unclear to me why this order change was necessary.

If @matz prefers to change the order even in this halfway state, I don't mind, but we need to confirm.

----------------------------------------
Bug #21193: Inherited callback returns `nil` for `Object.const_source_location`
https://bugs.ruby-lang.org/issues/21193#change-112409

* Author: eileencodes (Eileen Uchitelle)
* Status: Assigned
* Assignee: matz (Yukihiro Matsumoto)
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
Since https://github.com/ruby/ruby/pull/12927 the inherited callback no longer can access the `Object.const_source_location`. A simplified reproduction is the following:

```ruby
class A
  def self.inherited(other)
    super
    p Object.const_source_location(other.name)
  end 
end

class B < A 
end
```

Prior to this change `Object.const_source_location(other.name)` would return `["test.rb", 8]` and now returns `nil`.

Shopify's application uses the `inherited` callback to load configuration classes and since it's unable to find these classes they aren't loaded when they are called. It's not clear if this was intended or if there's a workaround. In chatting with folks at GitHub, they have a similar issue (although that case sounds less straightforward). A more accurate example of what we have (I did strip this down a bunch too):

```ruby

def self.inherited(config)
  return super unless config.superclass == Config

  if (class_name = config.name) &&
    (config_location = Object.const_source_location(class_name)) &&
    (parent_dirname = File.dirname(config_location[0]))
    config_dirname = File.join(parent_dirname, "config")
      config.autoload(:Something, File.join(config_dirname, "something.rb"))
  end

  super
end
```

Original issue: https://bugs.ruby-lang.org/issues/21143

cc/ @byroot @fxn 



-- 
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/


In This Thread