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 |_, ()| { | ^^^^^^^^^^^^