If you look in the official Rust doc, you see that the trait Fn
is derived from FnMut
, or, to implement Fn
, you have to implement FnMut
(and after that FnOnce
since FnMut
also derives from it).
Why is that so? I simply can't comprehend that. Is it because you can call every Fn
as a FnOnce
or FnMut
?