Fix rib example
related zulip thread: https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/Ribs.20in.20name.20resolution
This commit is contained in:
parent
0fd52366ca
commit
8789c2cf9b
|
|
@ -120,9 +120,9 @@ even though they should be visible by ordinary scoping rules. An example:
|
||||||
fn do_something<T: Default>(val: T) { // <- New rib in both types and values (1)
|
fn do_something<T: Default>(val: T) { // <- New rib in both types and values (1)
|
||||||
// `val` is accessible, as is the helper function
|
// `val` is accessible, as is the helper function
|
||||||
// `T` is accessible
|
// `T` is accessible
|
||||||
let helper = || { // New rib on `helper` (2) and another on the block (3)
|
let helper = || { // New rib on the block (2)
|
||||||
// `val` is accessible here
|
// `val` is accessible here
|
||||||
}; // End of (3)
|
}; // End of (2), new rib on `helper` (3)
|
||||||
// `val` is accessible, `helper` variable shadows `helper` function
|
// `val` is accessible, `helper` variable shadows `helper` function
|
||||||
fn helper() { // <- New rib in both types and values (4)
|
fn helper() { // <- New rib in both types and values (4)
|
||||||
// `val` is not accessible here, (4) is not transparent for locals
|
// `val` is not accessible here, (4) is not transparent for locals
|
||||||
|
|
@ -130,7 +130,7 @@ fn do_something<T: Default>(val: T) { // <- New rib in both types and values (1)
|
||||||
} // End of (4)
|
} // End of (4)
|
||||||
let val = T::default(); // New rib (5)
|
let val = T::default(); // New rib (5)
|
||||||
// `val` is the variable, not the parameter here
|
// `val` is the variable, not the parameter here
|
||||||
} // End of (5), (2) and (1)
|
} // End of (5), (3) and (1)
|
||||||
```
|
```
|
||||||
|
|
||||||
Because the rules for different namespaces are a bit different, each namespace
|
Because the rules for different namespaces are a bit different, each namespace
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue