Skip to content

Commit c4f6b4a

Browse files
committed
---
yaml --- r: 273077 b: refs/heads/beta c: e926f28 h: refs/heads/master i: 273075: 91418de
1 parent 04dc230 commit c4f6b4a

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: e742da0c71fc65facfa04df045839a230f059d42
26+
refs/heads/beta: e926f281dfc9baec0e01fb6aa82eb1bf8a0645c4
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/src/librustc_resolve/lib.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1443,16 +1443,22 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
14431443
span)
14441444
}
14451445

1446+
/// This function resolves `name` in `namespace` in the current lexical scope, returning
1447+
/// Success(binding) if `name` resolves to an item, or Failed(None) if `name` does not resolve
1448+
/// or resolves to a type parameter or local variable.
1449+
/// n.b. `resolve_identifier_in_local_ribs` also resolves names in the current lexical scope.
1450+
///
14461451
/// Invariant: This must only be called during main resolution, not during
14471452
/// import resolution.
14481453
fn resolve_item_in_lexical_scope(&mut self,
14491454
name: Name,
14501455
namespace: Namespace,
14511456
record_used: bool)
14521457
-> ResolveResult<&'a NameBinding<'a>> {
1453-
// Check the local set of ribs.
1458+
// Walk backwards up the ribs in scope.
14541459
for i in (0 .. self.get_ribs(namespace).len()).rev() {
14551460
if let Some(_) = self.get_ribs(namespace)[i].bindings.get(&name).cloned() {
1461+
// The name resolves to a type parameter or local variable, so return Failed(None).
14561462
return Failed(None);
14571463
}
14581464

@@ -1462,6 +1468,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
14621468
namespace,
14631469
true,
14641470
record_used) {
1471+
// The name resolves to an item.
14651472
return Success(binding);
14661473
}
14671474
// We can only see through anonymous modules

0 commit comments

Comments
 (0)