I only skimmed through the article, but noticed it is complaining that `&mut function` is not `'static`. This is easily reproducible with:<p><pre><code> fn foo() {
let _: &'static mut _ = &mut foo;
}
</code></pre>
And it is because while `foo` is definitely `'static`, `&mut foo` needs to be able to mutate something. The hidden secret is that `&mut foo` is desugared into something like<p><pre><code> let mut __temp = foo;
&mut __temp
</code></pre>
And so it is not `'static`.