From: "matz (Yukihiro Matsumoto)" Date: 2012-11-08T05:48:11+09:00 Subject: [ruby-core:49068] [ruby-trunk - Feature #7299] Ruby should not completely ignore blocks. Issue #7299 has been updated by matz (Yukihiro Matsumoto). I am positive as long as there's rational way to declare methods as 'non-block taking'. Last time I tried, I couldn't think any good idea to do so (without adding new API). New API (alternative version of rb_define_method, I suppose) is a good idea. The remaining problem should be how to declare Ruby-define methods to be 'non-block taking'. Under the current language spec, absence of '& argument' may or may not mean the method would take a block. Matz. ---------------------------------------- Feature #7299: Ruby should not completely ignore blocks. https://bugs.ruby-lang.org/issues/7299#change-32594 Author: marcandre (Marc-Andre Lafortune) Status: Rejected Priority: Normal Assignee: Category: core Target version: Ruby should not completely ignore blocks. const_set :Example, Class.new do p "Hello, world" end # Doesn't print anything, generate any warning nor error. To minimize any impact, Ruby should issue a warning, and in future version could even raise an error. Even unused variables provide warnings in verbose mode, and they have their use. I can't think of a case where passing a block to a builtin method that doesn't accept a block is not a programming error though. If this is approved, I volunteer to implement this. -- http://bugs.ruby-lang.org/