Project

General

Profile

Actions

Bug #14539

closed

Duplicate range in character class warning

Added by Anonymous over 3 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
>= 2.5.0
[ruby-core:85737]

Description

#!/usr/bin/env ruby -w
puts RUBY_VERSION
puts "👍".match?(/\X/).inspect
puts '--------------'
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.

Updated by shevegen (Robert A. Heiler) over 3 years ago

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.

Updated by vipulnsward (Vipul Amler) over 3 years ago

shevegen (Robert A. Heiler) wrote:

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.

This warning now shows up on ActiveSupport: activesupport/lib/active_support/core_ext/string/filters.rb:109: warning: character class has duplicated range: /\X/

Updated by jeremyevans0 (Jeremy Evans) over 2 years ago

  • Status changed from Open to Closed

This spurious warning appears in ruby 2.5.5, but not in ruby 2.6.3. Please upgrade to Ruby 2.6.3. This should be fixed in 2.5 if 179045acaf5de8398c321ada86a76f1afb77a796 is backported.

Actions #4

Updated by nagachika (Tomoyuki Chikanaga) over 2 years ago

  • Backport changed from 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN to 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: REQUIRED

Updated by usa (Usaku NAKAMURA) about 2 years ago

  • Backport changed from 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: REQUIRED to 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: DONE

ruby_2_5 r67752 merged revision(s) 179045acaf5de8398c321ada86a76f1afb77a796.

Actions

Also available in: Atom PDF