Bug #3331

Suppress Warning: class <<self

Added by Benoit Daloze about 5 years ago. Updated about 4 years ago.

[ruby-core:30366]
Status:Closed
Priority:Normal
Assignee:-
ruby -v:ruby 1.9.3dev (2010-05-14 trunk 27796) [x86_64-darwin10.3.0] Backport:

Description

=begin
Hi,
Running a simple program under trunk with warnings, I got one that could be solved very easily:
`<<' after local variable is interpreted as binary operator
even though it seems like here document

It is indeed not interpreted as one of these,
but it can be disturbing for the parser and the reader.

"class << self" should only be written as I just did,
neither "class <<self", nor "class<<self"
(the latter being mainly used for Module#singleton_class with class<<self;self;end)

Here is the stats:
$ grep -r 'class < 2
$ grep -r 'class< 5
$ grep -r 'class << self' . | wc -l #=> 180

So here is the patch, I just changed the 7 cases here above.
I also indented lib/irb/cmd/fork.rb because the change was minimal.

Is ruby-core interested in avoiding warnings?
I think it can really help to use the warning flag, but if the output is already filled with ruby's internals, it's very hard to find what you want.

The patch attached is the output of git format-patch, tell me if it needs to be another format.

Regards,
B.D.

PS: Do you have any idea how to solve that one and what is the real meaning of it?:
warning: character class has duplicated range: /[\s\t\r\n\f]+/
=end

0001-Suppress-Warning-class-self.patch Magnifier (3.73 KB) Benoit Daloze, 05/22/2010 10:22 PM

History

#1 Updated by Nobuyoshi Nakada about 5 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r27966.
Benoit, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Also available in: Atom PDF