 <p><code>self</code> when used as first method argument, is a shorthand for <code>self: Self</code> – there are also <code>&amp;self</code> which equals <code>self: &amp;Self</code> and <code>&amp;mut self</code> which equals <code>self: &amp;mut Self</code>.</p> <p><code>Self</code> in method arguments is syntactic sugar for the receiving type of the method (i.e. the type whose <code>impl</code> this method is in. This also allows for generic types without too much repetition.</p>