From: "byroot (Jean Boussier) via ruby-core" Date: 2024-06-11T07:56:28+00:00 Subject: [ruby-core:118288] [Ruby master Bug#20569] Instruction sequence generated from `shareable_constant_value: literal` files may not be serialized to binary Issue #20569 has been updated by byroot (Jean Boussier). I created backport PRs: - 3.2: https://github.com/ruby/ruby/pull/10963 - 3.3: https://github.com/ruby/ruby/pull/10962 ---------------------------------------- Bug #20569: Instruction sequence generated from `shareable_constant_value: literal` files may not be serialized to binary https://bugs.ruby-lang.org/issues/20569#change-108790 * Author: byroot (Jean Boussier) * Status: Closed * Assignee: ko1 (Koichi Sasada) * Backport: 3.1: WONTFIX, 3.2: REQUIRED, 3.3: REQUIRED ---------------------------------------- ```ruby iseq = RubyVM::InstructionSequence.compile(<<~'RUBY') # shareable_constant_value: literal REGEXP = /#{}/ RUBY iseq.to_binary ``` ``` in `to_binary': ibf_dump_object_unsupported: 0x00000001026ac8b0 [3LM ] T_ICLASS (NotImplementedError) ``` The reason is that the ISeq contains `putobject RubyVM::FrozenCore` so `compile.c` need some special handling of that hidden class. Proposed patch: https://github.com/ruby/ruby/pull/10951 -- https://bugs.ruby-lang.org/