Project

General

Profile

Actions

Feature #20293

closed

Add `Warning.categories` method that returns the warning category names

Added by nobu (Nobuyoshi Nakada) 9 months ago. Updated 8 months ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:116909]

Description

I propose a new method Warning.categories.
This would be useful (or necessary) for tests mainly.

Currently, EnvUtil.capture_global_values saves the original warning settings as followings:

      @original_warning = defined?(Warning.[]) ? %i[deprecated experimental].to_h {|i| [i, Warning[i]]} : nil

But this is wrong now; performance is missing.
So we need:

      @original_warning = if defined?(Warning.[]) # 2.7+
        %i[deprecated experimental performance].to_h do |i|
          [i, begin Warning[i]; rescue ArgumentError; end]
        end.compact
      end

That means this list is version dependent and we will need to maintain this list in future.
We need another surefire way.

Actions

Also available in: Atom PDF

Like1
Like0Like0