I think that when !GC_COMPACTION_SUPPORTED, rather than raise NotImplementedError, we should instead define these methods as rb_f_notimplement like Process.fork on Windows.
This way GC.respond_to?(:compact) would be a proper way to test for compaction support.
Unfortunately, these methods are defined through .rb files with Primitive, and I don't know wether it's possible to check GC_COMPACTION_SUPPORTED from there, nor if it's possible to define a rb_f_notimplement method.
@jaruga (Jun Aruga) no, I requested it, but it's the release manager of each branch that is supposed to do the backport.
These two commits are on master. The backported commits will likely be widely different as there was many changes in compaction APIs between 3.0 and master.
no, I requested it, but it's the release manager of each branch that is supposed to do the backport.
Sorry for my mistake. The "3.0: REQUIRED, 3.1: REQUIRED" (not DONE) shows the statuses clearly.
These two commits are on master. The backported commits will likely be widely different as there was many changes in compaction APIs between 3.0 and master.
I see. How about changes between 3.1 and master? Many changes? I want to see the backport at least on Ruby 3.1.
Ah I found the 2 commits you shared on the PR below. But the commits were rebased on the master. That's why I could not find those on the master. https://github.com/ruby/ruby/pull/5934/commits
If it helps, this 1 is the patch we are carrying around in Fedora for Ruby 3.1. I would appreciate if is backported, because it influences files which are pregenerated and part of the release tarball 2.