File tree 1 file changed +7
-4
lines changed
1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -23,8 +23,7 @@ fn main() {
23
23
println!("outer long: {}", long_lived_binding);
24
24
}
25
25
```
26
- Also, a binding may have the same name as a binding from an outer block. This is
27
- known as [ variable shadowing] [ variable-shadow ] .
26
+ Also, [ variable shadowing] [ variable-shadow ] is allowed.
28
27
``` rust,editable,ignore,mdbook-runnable
29
28
fn main() {
30
29
let shadowed_binding = 1;
@@ -33,11 +32,15 @@ fn main() {
33
32
println!("before being shadowed: {}", shadowed_binding);
34
33
35
34
// This binding *shadows* the outer one
36
- let shadowed_binding = "a ";
35
+ let shadowed_binding = "abc ";
37
36
38
- println!("after being shadowed : {}", shadowed_binding);
37
+ println!("shadowed in inner block : {}", shadowed_binding);
39
38
}
39
+ println!("outside inner block: {}", shadowed_binding);
40
40
41
+ // This binding *shadows* the previous binding
42
+ let shadowed_binding = 2;
43
+ println!("shadowed in outer block: {}", shadowed_binding);
41
44
}
42
45
```
43
46
[ variable-shadow ] : https://en.wikipedia.org/wiki/Variable_shadowing
You can’t perform that action at this time.
0 commit comments