Skip to content

Commit 0a56cf3

Browse files
committed
---
yaml --- r: 271619 b: refs/heads/auto c: 07fecf8 h: refs/heads/master i: 271617: 70996b7 271615: 761c85b
1 parent 5320208 commit 0a56cf3

File tree

2 files changed

+17
-35
lines changed

2 files changed

+17
-35
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
88
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
99
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1010
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
11-
refs/heads/auto: 1744f55ad7452e72cea2b875e4f53387575ce461
11+
refs/heads/auto: 07fecf80980c8df846bc63a29ca712b18fdbcfa7
1212
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1313
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336
1414
refs/tags/0.2: 1754d02027f2924bed83b0160ee340c7f41d5ea1

branches/auto/src/librustc_resolve/lib.rs

Lines changed: 16 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ use rustc::dep_graph::DepNode;
5151
use rustc::front::map as hir_map;
5252
use rustc::session::Session;
5353
use rustc::lint;
54-
use rustc::middle::cstore::{CrateStore, DefLike, DlDef};
54+
use rustc::middle::cstore::CrateStore;
5555
use rustc::middle::def::*;
5656
use rustc::middle::def_id::DefId;
5757
use rustc::middle::pat_util::pat_bindings;
@@ -756,7 +756,7 @@ enum BareIdentifierPatternResolution {
756756
/// One local scope.
757757
#[derive(Debug)]
758758
struct Rib<'a> {
759-
bindings: HashMap<Name, DefLike>,
759+
bindings: HashMap<Name, Def>,
760760
kind: RibKind<'a>,
761761
}
762762

@@ -1594,7 +1594,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
15941594

15951595
/// Searches the current set of local scopes for labels.
15961596
/// Stops after meeting a closure.
1597-
fn search_label(&self, name: Name) -> Option<DefLike> {
1597+
fn search_label(&self, name: Name) -> Option<Def> {
15981598
for rib in self.label_ribs.iter().rev() {
15991599
match rib.kind {
16001600
NormalRibKind => {
@@ -1753,13 +1753,9 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
17531753
seen_bindings.insert(name);
17541754

17551755
// plain insert (no renaming)
1756-
function_type_rib.bindings
1757-
.insert(name,
1758-
DlDef(Def::TyParam(space,
1759-
index as u32,
1760-
self.ast_map
1761-
.local_def_id(type_parameter.id),
1762-
name)));
1756+
let def_id = self.ast_map.local_def_id(type_parameter.id);
1757+
let def = Def::TyParam(space, index as u32, def_id, name);
1758+
function_type_rib.bindings.insert(name, def);
17631759
}
17641760
self.type_ribs.push(function_type_rib);
17651761
}
@@ -1948,7 +1944,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
19481944

19491945
// plain insert (no renaming, types are not currently hygienic....)
19501946
let name = special_names::type_self;
1951-
self_type_rib.bindings.insert(name, DlDef(self_def));
1947+
self_type_rib.bindings.insert(name, self_def);
19521948
self.type_ribs.push(self_type_rib);
19531949
f(self);
19541950
if !self.resolved {
@@ -2328,7 +2324,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
23282324
if !bindings_list.contains_key(&renamed) {
23292325
let this = &mut *self;
23302326
let last_rib = this.value_ribs.last_mut().unwrap();
2331-
last_rib.bindings.insert(renamed, DlDef(def));
2327+
last_rib.bindings.insert(renamed, def);
23322328
bindings_list.insert(renamed, pat_id);
23332329
} else if mode == ArgumentIrrefutableMode &&
23342330
bindings_list.contains_key(&renamed) {
@@ -2869,25 +2865,11 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
28692865
let name = match namespace { ValueNS => ident.name, TypeNS => ident.unhygienic_name };
28702866

28712867
for i in (0 .. self.get_ribs(namespace).len()).rev() {
2872-
if let Some(def_like) = self.get_ribs(namespace)[i].bindings.get(&name).cloned() {
2873-
match def_like {
2874-
DlDef(def) => {
2875-
debug!("(resolving path in local ribs) resolved `{}` to {:?} at {}",
2876-
name,
2877-
def,
2878-
i);
2879-
return Some(LocalDef {
2880-
ribs: Some((namespace, i)),
2881-
def: def,
2882-
});
2883-
}
2884-
def_like => {
2885-
debug!("(resolving path in local ribs) resolved `{}` to pseudo-def {:?}",
2886-
name,
2887-
def_like);
2888-
return None;
2889-
}
2890-
}
2868+
if let Some(def) = self.get_ribs(namespace)[i].bindings.get(&name).cloned() {
2869+
return Some(LocalDef {
2870+
ribs: Some((namespace, i)),
2871+
def: def,
2872+
});
28912873
}
28922874

28932875
if let ModuleRibKind(module) = self.get_ribs(namespace)[i].kind {
@@ -3230,11 +3212,11 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
32303212

32313213
ExprLoop(_, Some(label)) | ExprWhile(_, _, Some(label)) => {
32323214
self.with_label_rib(|this| {
3233-
let def_like = DlDef(Def::Label(expr.id));
3215+
let def = Def::Label(expr.id);
32343216

32353217
{
32363218
let rib = this.label_ribs.last_mut().unwrap();
3237-
rib.bindings.insert(label.name, def_like);
3219+
rib.bindings.insert(label.name, def);
32383220
}
32393221

32403222
intravisit::walk_expr(this, expr);
@@ -3249,7 +3231,7 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
32493231
label.span,
32503232
ResolutionError::UndeclaredLabel(&label.node.name.as_str()))
32513233
}
3252-
Some(DlDef(def @ Def::Label(_))) => {
3234+
Some(def @ Def::Label(_)) => {
32533235
// Since this def is a label, it is never read.
32543236
self.record_def(expr.id,
32553237
PathResolution {

0 commit comments

Comments
 (0)