3 ms·
Could you please elaborate a little on the difference here between lexical and non-lexical scope, Steve?
by xxr 10y ago
Could you please elaborate a little on the difference here between lexical and non-lexical scope, Steve?
- Manishearth 10y ago{ let mut x = 1; let y = &x; do_stuff_with(y); x += 1 // not allowed right now because y is still active // no use of y here. possible uses of x } The lexical scope of y is the entire block (well, starting at the declaration of y). The actual scope of liveness ends after do_stuff_with -- y is no longer used at this point and x could be mutated. Right now you have to introduce an explicit scope block to make this work, but it's not a fundamental restriction in the language design.