
Issue #19263 has been updated by k0kubun (Takashi Kokubun). I've pushed the fix. Please backport https://github.com/ruby/ruby/commit/fc03ba50f1ff6c30f7c654f564b4dffbed0844ef to ruby_3_2 branch. Other older branches shouldn't need this patch. ---------------------------------------- Bug #19263: MJIT fails to compile multiple values in a single case in Ruby 3.2.0 https://bugs.ruby-lang.org/issues/19263#change-100807 * Author: k0kubun (Takashi Kokubun) * Status: Open * Priority: Normal * Backport: 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED, 3.2: REQUIRED ---------------------------------------- ``` $ cat test.rb def test(a) case a when true, false a end end test(true) test(true) $ ruby --mjit-verbose=1 --mjit-wait --mjit-call-threshold=2 test.rb /tmp/_ruby_mjit_p237606u1.c: In function ‘_mjit0’: /tmp/_ruby_mjit_p237606u1.c:58:7: error: duplicate case value 58 | case 19: | ^~~~ compilation terminated due to -Wfatal-errors. Successful MJIT finish ``` I'd like to fix this in master and ask the branch maintainer to backport this to 3.2.1. -- https://bugs.ruby-lang.org/