From: Aaron Patterson <tenderlove@...>
Date: 2012-11-07T22:00:31+09:00
Subject: [ruby-core:49032] Re: [ruby-trunk - Feature #7299][Open] Ruby should not completely ignore blocks.

On Wed, Nov 07, 2012 at 01:06:34PM +0900, marcandre (Marc-Andre Lafortune) wrote:
> 
> Issue #7299 has been reported by marcandre (Marc-Andre Lafortune).
> 
> ----------------------------------------
> Feature #7299: Ruby should not completely ignore blocks.
> https://bugs.ruby-lang.org/issues/7299
> 
> Author: marcandre (Marc-Andre Lafortune)
> Status: Open
> 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.

This happens with normal ruby code:

  ruby -w -e'def foo; 10; end; p foo { raise };'

Why would "builtin" methods be special?

-- 
Aaron Patterson
http://tenderlovemaking.com/