Why Rust closures are somewhat hard
I don&#x27;t understand the intuition of closures and they turn me off to languages immediately. They feel like a hack from someone who didn&#x27;t want to store a copy of a parent-scope variable within a function. The idea that I can touch variables that have gone out of scope (and that have ostensibly been GC&#x27;d) makes me feel that it is impossible to reason about variable lifetimes when dealing with closures. Is there some perspective I&#x27;m missing here? Is it literally just the language invisibly adding the parent-scope variables and their values to the top of my function?