What does the trait bound 'static
mean in Rust?
After a few weeks of programming in Rust we should have a pretty good idea of what a 'static
reference is, but a 'static
trait bound can seem a bit more mysterious.
The first time I had to add a 'static
trait bound to my code. I didn't feel like I understood what was happening, because there were no references involved. In fact, the only data involved were function arguments being passed by ownership, which is usually a pretty reliable way of avoiding borrow checker problems.
In many cases, the rust compiler will suggest a 'static
trait bound to address a problem. The compiler is probably right, but let's explore what it really means so we can be confident that we understand the solution.