From: "mame (Yusuke Endoh)" Date: 2013-01-07T12:25:56+09:00 Subject: [ruby-core:51282] [ruby-trunk - Bug #7662][Assigned] Unable to define a method with bare `**` Issue #7662 has been updated by mame (Yusuke Endoh). Status changed from Open to Assigned Thanks for your feedback. I'm neutral for bare `**` itself. But it is too late a bit to discuss the spec and there is an obvious workaround: def foo(**dummy) end Of course, we can add bare `**' later (say, in 2.0.1). BTW: > I use bare `*` often in combination with bare `super` to extend a superclass without being brittle to its exact signature. I don't think that it is a good idea to ignore arguments silently just for a bare `super`. You should call super with explicit argument delegation if your overriding method changes the signature of its parent method. ---------------------------------------- Bug #7662: Unable to define a method with bare `**` https://bugs.ruby-lang.org/issues/7662#change-35247 Author: wycats (Yehuda Katz) Status: Assigned Priority: Normal Assignee: nobu (Nobuyoshi Nakada) Category: Target version: next minor ruby -v: 2.0.0dev This works: def foo(*) end This does not: def foo(**) end This does not: def foo(*, **) end I use bare `*` often in combination with bare `super` to extend a superclass without being brittle to its exact signature. With keyword arguments, this seems like it will be impossible. I am opening several other related issues. -- http://bugs.ruby-lang.org/