summaryrefslogtreecommitdiff
path: root/tool/lib
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-02-22 22:25:12 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2024-03-14 17:56:55 +0900
commit1ad366134ded1667745dd9fa70919051869f8d6c (patch)
tree3f8c2432a327a5ee9e857df1b36c0fad678708f9 /tool/lib
parentf36a71e26995b69ff72bc132bbcf40ad89571414 (diff)
[Feature #20293] Add `Warning.categories`
Diffstat (limited to 'tool/lib')
-rw-r--r--tool/lib/envutil.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/tool/lib/envutil.rb b/tool/lib/envutil.rb
index a2ddf74052..642965047f 100644
--- a/tool/lib/envutil.rb
+++ b/tool/lib/envutil.rb
@@ -53,7 +53,9 @@ module EnvUtil
@original_external_encoding = Encoding.default_external
@original_verbose = $VERBOSE
@original_warning =
- if defined?(Warning.[]) # 2.7+
+ if defined?(Warning.categories)
+ Warning.categories.to_h {|i| [i, Warning[i]]}
+ elsif defined?(Warning.[]) # 2.7+
%i[deprecated experimental performance].to_h do |i|
[i, begin Warning[i]; rescue ArgumentError; end]
end.compact