Bug #3331: Suppress Warning: class <<self
http://redmine.ruby-lang.org/issues/show/3331

Author: Benoit Daloze
Status: Open, Priority: Normal
Category: lib, Target version: 1.9.x
ruby -v: ruby 1.9.3dev (2010-05-14 trunk 27796) [x86_64-darwin10.3.0]

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 <<self' . | wc -l #=> 2
$ grep -r 'class<<self' . | wc -l #=> 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]+/


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