What would be the use of closing over the value rather than the variable? That would stop a lot of interesting use of closed-over variables (like persisting values from call to call).
That’s how you’d do it using a [=] lambda in c++ or a move closure in rust.