Project

General

Profile

Actions

Feature #9423

open

Improve warning semantics

Added by atlas (Atlas Prime) over 7 years ago. Updated over 6 years ago.

Status:
Feedback
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:]

Description

Two suggestions for future version of Ruby that wold make warning levels more intuitive easier to work with.

First, rename $VERBOSE to $WARN for these reasons:

  • ruby flags that set $VERBOSE are -w and -W (warnings levels).
  • $VERBOSE controls output produced by warn method.
  • $VERBOSE and FileUtils:Verbose are unrelated.
  • $WARN is shorter ;-)

Second, it is confusing that nil and false mean different levels. Instead of the current nil as level 0, false as level 1, and true as level 2, it would be nice if nil and false both mean "off", and then go from 0 on up to mean "on" of increasing degree. Just to clarify my meaning (not a use case example):

# nil, false mean no warning
if $WARN
  case $WARN
  when 0
    # lesser level of warning
  when 1
    # greater level of warning
  when 2
    # can go higher if needed for rare use case
  end
end

These are incompatible changes, but can be phased-in with support both $WARN and $VERBOSE for intermediate period.

Actions

Also available in: Atom PDF