Bug #14539
closedDuplicate range in character class warning
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) almost 7 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 6 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 5 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.
Updated by nagachika (Tomoyuki Chikanaga) over 5 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 5 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.