Issue #7471 has been updated by knu (Akinori MUSHA).


Onigmo doesn't have the code for detecting duplication in character class, so this problem seems to be on our own.

I narrowed the problem down:

% ruby / 2.0.0 -EUS-ASCII -W2 -e '/[\D]/=~""'
-e:1: warning: character class has duplicated range: /[\D]/
% ruby / 2.0.0 -EUS-ASCII -W2 -e '/[\W]/=~""'
-e:1: warning: character class has duplicated range: /[\W]/

Looks like CTYPE + NOT = FAIL.
----------------------------------------
Bug #7471: character class has duplicated range warning for "" =~ /[\w\W]/
https://bugs.ruby-lang.org/issues/7471#change-34732

Author: drbrain (Eric Hodel)
Status: Open
Priority: Normal
Assignee: naruse (Yui NARUSE)
Category: core
Target version: 2.0.0
ruby -v: -


=begin
The warning seems bogus, \w and \W do not overlap.

  $ cat test.rb 
  $-w = true

  ""=~/[\w\W]/
  $ make runruby
  /Users/drbrain/Work/svn/ruby/trunk/test.rb:3: warning: character class has duplicated range: /[\w\W]/

There is no warning with 1.9.3:

  $ ~/.multiruby/install/1.9.3-p194/bin/ruby -v test.rb 
  ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.1.0]
  [no output]

This affects abbrev.rb:

  /usr/local/lib/ruby/2.0.0/abbrev.rb:77: warning: character class has duplicated range: /[\w\W]\z/

=end


-- 
http://bugs.ruby-lang.org/