SomeClass implicitly extends Object , and Object has an implicit no-args initialize method.
Using super bare (i.e., without arguments or guys) sends the superclass the same message as the subclass received. In your example, using super in SomeClass#initialize(arg) actually sends #initialize(arg) to Object - hence the error.
The reason why there is no more specific error is because this is not a special circumstance.
source share