ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
From: "jeremyevans0 (Jeremy Evans) via ruby-core" <ruby-core@ml.ruby-lang.org>
To: ruby-core@ml.ruby-lang.org
Cc: "jeremyevans0 (Jeremy Evans)" <noreply@ruby-lang.org>
Subject: [ruby-core:119969] [Ruby master Bug#20871] Including methods in Enumerable doesn't make them available in Array
Date: Tue, 19 Nov 2024 15:36:32 +0000 (UTC)	[thread overview]
Message-ID: <redmine.journal-110705.20241119153632.54954@ruby-lang.org> (raw)
In-Reply-To: <redmine.issue-20871.20241105200917.54954@ruby-lang.org>

Issue #20871 has been updated by jeremyevans0 (Jeremy Evans).

Status changed from Feedback to Open

sanderd17 (Sander Deryckere) wrote in #note-6:
> Thanks @rolf and @tdeo for finding minimal examples!
> 
> Why is this ticket marked as `closed` now?

It was in Feedback status, which shows the Closed button.  Now that we've received feedback, including a self contained example, I've moved it back to Open.

----------------------------------------
Bug #20871: Including methods in Enumerable doesn't make them available in Array
https://bugs.ruby-lang.org/issues/20871#change-110705

* Author: sanderd17 (Sander Deryckere)
* Status: Open
* ruby -v: 3.3.6
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
Today, our CI pipeline started failing after the automatic update from v3.3.5 to v3.3.6.

After researching, it turned out that our core extensions to the `Array` class weren't loaded anymore.

The core-extensions code looks like this:

```ruby

module CoreExt
  module Enumerable
    def average
      sum(&:to_f) / count if any?
    end

    # def ...
  end
end

Enumerable.include CoreExt::Enumerable
```

After some debugging, it turned out that the `average` method was included in the `instance_methods` of `Enumerable`, but not in the `instance_methods` of `Array`.

Explicitly adding `Array.include CoreExt::Enumerable` fixes CI for our case.


The very strange thing is that it only happens on a release branch we are still maintaining. It doesn't happen on our main development branch (which also updated to v3.3.6 today). I have been unable to find the difference between both branches so far (they diverged a couple of months ago, but the base system is still regularly updated on both, and pretty similar).

After some digging around, I assume this commit is related to our issue: https://github.com/ruby/ruby/commit/edeb0319f7a95dfe3f9b895bcf32371dd8514726



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

  parent reply	other threads:[~2024-11-19 15:37 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-05 20:09 [ruby-core:119751] " sanderd17 (Sander Deryckere) via ruby-core
2024-11-05 20:25 ` [ruby-core:119752] " sanderd17 (Sander Deryckere) via ruby-core
2024-11-18  5:02 ` [ruby-core:119954] " jeremyevans0 (Jeremy Evans) via ruby-core
2024-11-18  7:24 ` [ruby-core:119955] " rolf (Rolf T) via ruby-core
2024-11-18  9:12 ` [ruby-core:119956] " rolf (Rolf T) via ruby-core
2024-11-19  8:43 ` [ruby-core:119964] " tdeo (Thierry Deo) via ruby-core
2024-11-19 14:37 ` [ruby-core:119968] " sanderd17 (Sander Deryckere) via ruby-core
2024-11-19 15:36 ` jeremyevans0 (Jeremy Evans) via ruby-core [this message]
2024-11-19 20:35 ` [ruby-core:119970] " jeremyevans0 (Jeremy Evans) via ruby-core
2024-11-20  1:12 ` [ruby-core:119971] " jeremyevans0 (Jeremy Evans) via ruby-core
2024-11-20 18:23 ` [ruby-core:119976] " sanderd17 (Sander Deryckere) via ruby-core
2024-11-30  6:11 ` [ruby-core:120069] " nagachika (Tomoyuki Chikanaga) via ruby-core
2025-01-15  1:49 ` [ruby-core:120682] " k0kubun (Takashi Kokubun) via ruby-core

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=redmine.journal-110705.20241119153632.54954@ruby-lang.org \
    --to=ruby-core@ml.ruby-lang.org \
    --cc=noreply@ruby-lang.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).