Prevent a warning: method redefined; discarding old included

```
[ 3463/25719] JSONGeneratorTest#test_string_ext_included_calls_super/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/json/json_generator_test.rb:411: warning: method redefined; discarding old included
/home/chkbuild/chkbuild/tmp/build/20230905T063003Z/ruby/test/json/json_generator_test.rb:399: warning: previous definition of included was here
```

http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20230905T063003Z.log.html.gz
This commit is contained in:
Yusuke Endoh 2023-09-05 17:29:53 +09:00
parent 923d3517f1
commit 77db0ca6c8

View File

@ -396,6 +396,7 @@ EOT
included = false
Module.alias_method(:included_orig, :included)
Module.remove_method(:included)
Module.define_method(:included) do |base|
included_orig(base)
included = true
@ -408,6 +409,7 @@ EOT
assert included
ensure
if Module.private_method_defined?(:included_orig)
Module.remove_method(:included) if Module.method_defined?(:included)
Module.alias_method(:included, :included_orig)
Module.remove_method(:included_orig)
end