<i>Violation of &quot;explicit over implicit&quot; rule in methods declarations: argument self&#x2F;&amp;self is implicitly omitted in call, but exist in signature. Because of this, for example, you can&#x27;t use method of class as request handler in Iron, you need closure wrapper with same order and count of arguments. Pure ugliness;</i><p>Maybe that&#x27;s ugly, but it&#x27;s explicit. The method is statically compiled into the program to take the receiver as an argument. What you want to do is specify the receiver argument on the caller cide and the remaining arguments on the callee side, which is impossible to do. The closest you can get is to create a closure on the caller side and pass that to the callee. Languages that avoid this, like say, python, are just implicitly creating that closure. Creating a closure implicitly goes against the design goals of rust.<p>At least rust doesn&#x27;t have javascript&#x27;s abominable semantics.