Issue #14539 has been updated by shevegen (Robert A. Heiler).


Agreed. Your code did not use more than one \X so the warning is
incorrect as it is (because you did not use more than one \X, so
at best, it may have originated from elsehwere, which was not 
your fault then) - so it sounds like a bug IMO.

Since some grapheme-specific code was added in 2.5.x, I believe
this may be a reason for the behaviour change compared to 
ruby 2.4.x.

----------------------------------------
Bug #14539: Duplicate range in character class warning
https://bugs.ruby-lang.org/issues/14539#change-70579

* Author: Anonymous
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: >= 2.5.0
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
~~~ ruby
#!/usr/bin/env ruby -w
puts RUBY_VERSION
puts "".match?(/\X/).inspect
puts '--------------'
~~~

~~~ text
2.4.3
true
--------------
2.5.0
grapheme_warning.rb:3: warning: character class has duplicated range: /\X/
true
--------------
2.6.0
grapheme_warning.rb:3: warning: character class has duplicated range: /\X/
true
--------------
~~~

I don't think there's a duplicate range here, so there should not be a warning.



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>