error[E0373]: closure may outlive the current function, but it borrows `test`, which is owned by the current function
  --> $DIR/scope_invariance.rs:14:38
   |
9  |     lua.scope(|scope| {
   |                ----- has type `&Scope<'_, '1>`
...
14 |                 .create_function_mut(|_, ()| {
   |                                      ^^^^^^^ may outlive borrowed value `test`
15 |                     test.field = 42;
   |                     ---- `test` is borrowed here
   |
note: function requires argument type to outlive `'1`
  --> $DIR/scope_invariance.rs:13:13
   |
13 | /             scope
14 | |                 .create_function_mut(|_, ()| {
15 | |                     test.field = 42;
16 | |                     //~^ error: `test` does not live long enough
17 | |                     Ok(())
18 | |                 })?
   | |__________________^
help: to force the closure to take ownership of `test` (and any other referenced variables), use the `move` keyword
   |
14 |                 .create_function_mut(move |_, ()| {
   |                                      ^^^^^^^^^^^^
