From: markus heiler Date: 2011-12-06T19:07:30+09:00 Subject: [ruby-core:41502] [ruby-trunk - Feature #5716][Open] duplicated when clause is ignored -> Report which clause it is specifically. Issue #5716 has been reported by markus heiler. ---------------------------------------- Feature #5716: duplicated when clause is ignored -> Report which clause it is specifically. http://redmine.ruby-lang.org/issues/5716 Author: markus heiler Status: Open Priority: Low Assignee: Category: Target version: In latest Ruby 1.9.3, if you have warnings enabled, you get information like this here: foobar.rb:24: warning: duplicated when clause is ignored This error comes from the file: compile.c rb_compile_warning(RSTRING_PTR(iseq->filename), iobj->line_no, "duplicated when clause is ignored"); This is called, it seems, when the prior function fails: rb_hash_aset(map, obj, INT2FIX(lobj->position - (pos+len))); As a user of Ruby, the warning should be better. Rather than: foobar.rb:24: warning: duplicated when clause is ignored I would like to see: foobar.rb:24: warning: duplicated when clause 'foo' is ignored. This way, I can scan through the file with the case/when structure and correct this error. But right now, if you have a very long case/when structure, you have no idea WHICH clause is duplicated. The warning message just vaguely says that there is, and this is not very helpful information. -- http://redmine.ruby-lang.org