Zlib::GzipWriter
cannot be properly sub-classed · Issue #7476 · jruby/jruby (original) (raw)
It is not possible to sub-class Zlib::GzipWriter
and override the initialize
method so that it accepts additional keyword arguments.
Steps To Reproduce
require 'zlib' require 'stringio'
class ZlibSubClass < Zlib::GzipWriter
def initialize(io, kwarg: 'foo') super(io) end
end
io = StringIO.new('') ZlibSubClass.new(io, kwarg: 'bar')
Environment Information
jruby 9.4.0.0 (3.1.0) 2022-11-23 95c0ec159f OpenJDK 64-Bit Server VM 17.0.5+8 on 17.0.5+8 +jit [x86_64-linux]
Linux dev 6.0.9-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 16 17:50:45 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Expected Behavior
Accepts additional keyword arguments.
Actual Behavior
ArgumentError: wrong number of arguments (given 2, expected 1)
initialize at test_jruby_zlib_initialize.rb:6
new at org/jruby/ext/zlib/JZlibRubyGzipWriter.java:75
new at org/jruby/ext/zlib/JZlibRubyGzipWriter.java:66
<main> at test_jruby_zlib_initialize.rb:13
... 5 levels...