{"action":"opened","issue":{"url":"https://api.github.com/repos/crystal-lang/crystal/issues/2389","repository_url":"https://api.github.com/repos/crystal-lang/crystal","labels_url":"https://api.github.com/repos/crystal-lang/crystal/issues/2389/labels{/name}","comments_url":"https://api.github.com/repos/crystal-lang/crystal/issues/2389/comments","events_url":"https://api.github.com/repos/crystal-lang/crystal/issues/2389/events","html_url":"https://github.com/crystal-lang/crystal/issues/2389","id":144643006,"number":2389,"title":"parser (?) block issue","user":{"login":"schmurfy","id":2983,"avatar_url":"https://avatars.githubusercontent.com/u/2983?v=3","gravatar_id":"","url":"https://api.github.com/users/schmurfy","html_url":"https://github.com/schmurfy","followers_url":"https://api.github.com/users/schmurfy/followers","following_url":"https://api.github.com/users/schmurfy/following{/other_user}","gists_url":"https://api.github.com/users/schmurfy/gists{/gist_id}","starred_url":"https://api.github.com/users/schmurfy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schmurfy/subscriptions","organizations_url":"https://api.github.com/users/schmurfy/orgs","repos_url":"https://api.github.com/users/schmurfy/repos","events_url":"https://api.github.com/users/schmurfy/events{/privacy}","received_events_url":"https://api.github.com/users/schmurfy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-03-30T16:19:27Z","updated_at":"2016-03-30T16:19:27Z","closed_at":null,"body":"I tried to search but it's hard to be sure this is not a duplicate since I am not really sure what to look for :s\r\nThe problem is with this code:\r\n\r\n```crystal\r\nclass Runner\r\n  def it(msg, &block);  block.call; end\r\n  \r\n  def run\r\n    with self yield\r\n  end\r\nend\r\n\r\ndef run(&block)\r\n  Runner.new.run(&block)\r\nend\r\n\r\n# This one works fine\r\nRunner.new.run do\r\n  it(\"rains\") do\r\n    p [:ok]\r\n  end\r\nend\r\n\r\n# This one does not\r\n# run do\r\n#   it(\"rains\") do\r\n#     p [:ok]\r\n#     \r\n#   end\r\n# end\r\n```\r\n\r\nIf you run this as is it works fine but if you uncomment the last part it will fail and as far as I can say it will do so before executing anything, for me the last two examples are stricly identical, is that a bug or a limitation of the parser/language ?"}}