Project

General

Profile

Actions

Bug #3331

closed

Suppress Warning: class <<self

Added by Eregon (Benoit Daloze) over 14 years ago. Updated over 13 years ago.

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

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 <<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]+/
=end


Files

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

Updated by nobu (Nobuyoshi Nakada) over 14 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

Actions

Also available in: Atom PDF

Like0
Like0