diff --git a/ext/json/ext/generator/generator.c b/ext/json/ext/generator/generator.c index 6bc3d4203..abeffeda1 100644 --- a/ext/json/ext/generator/generator.c +++ b/ext/json/ext/generator/generator.c @@ -1507,4 +1507,6 @@ void Init_generator(void) usascii_encindex = rb_usascii_encindex(); utf8_encindex = rb_utf8_encindex(); binary_encindex = rb_ascii8bit_encindex(); + + rb_require("json/ext/generator/state"); } diff --git a/lib/json/ext.rb b/lib/json/ext.rb index 775e28a96..92ef61eae 100644 --- a/lib/json/ext.rb +++ b/lib/json/ext.rb @@ -15,9 +15,6 @@ module Ext else require 'json/ext/parser' require 'json/ext/generator' - unless RUBY_ENGINE == 'jruby' - require 'json/ext/generator/state' - end $DEBUG and warn "Using Ext extension for JSON." JSON.parser = Parser JSON.generator = Generator diff --git a/test/json/ractor_test.rb b/test/json/ractor_test.rb index e0116400f..646baddf3 100644 --- a/test/json/ractor_test.rb +++ b/test/json/ractor_test.rb @@ -9,7 +9,7 @@ class JSONInRactorTest < Test::Unit::TestCase def test_generate - assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}", ignore_stderr: true) + assert_separately(%w[-rjson -Ilib -Iext], "#{<<~"begin;"}\n#{<<~'end;'}", ignore_stderr: true) begin; $VERBOSE = nil require "json"