Skip to content

Commit 23c2a4c

Browse files
committed
---
yaml --- r: 147655 b: refs/heads/try2 c: 9253df1 h: refs/heads/master i: 147653: 90aca67 147651: 9707e83 147647: 3c2659e v: v3
1 parent 26119f8 commit 23c2a4c

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: c10d7177db81bd207705a92f6453f82ab11521a7
8+
refs/heads/try2: 9253df1844985ded53a3d5353b506b5ec8a33131
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/librustc/middle/resolve.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ struct ImportResolution {
361361
value_id: Cell<NodeId>,
362362

363363
/// The type that this `use` directive names, if there is one.
364-
type_target: Option<Target>,
364+
type_target: RefCell<Option<Target>>,
365365
/// The source node of the `use` directive leading to the type target
366366
/// being non-none
367367
type_id: NodeId,
@@ -374,15 +374,15 @@ impl ImportResolution {
374374
value_id: Cell::new(id),
375375
outstanding_references: Cell::new(0),
376376
value_target: RefCell::new(None),
377-
type_target: None,
377+
type_target: RefCell::new(None),
378378
is_public: Cell::new(is_public),
379379
}
380380
}
381381

382382
fn target_for_namespace(&self, namespace: Namespace)
383383
-> Option<Target> {
384384
match namespace {
385-
TypeNS => return self.type_target,
385+
TypeNS => return self.type_target.get(),
386386
ValueNS => return self.value_target.get(),
387387
}
388388
}
@@ -2433,8 +2433,8 @@ impl Resolver {
24332433
BoundResult(target_module, name_bindings) => {
24342434
debug!("(resolving single import) found type target: {:?}",
24352435
name_bindings.type_def.get().unwrap().type_def);
2436-
import_resolution.type_target =
2437-
Some(Target::new(target_module, name_bindings));
2436+
import_resolution.type_target.set(
2437+
Some(Target::new(target_module, name_bindings)));
24382438
import_resolution.type_id = directive.id;
24392439
used_public = name_bindings.defined_in_public_namespace(TypeNS);
24402440
}
@@ -2445,7 +2445,7 @@ impl Resolver {
24452445
}
24462446

24472447
if import_resolution.value_target.get().is_none() &&
2448-
import_resolution.type_target.is_none() {
2448+
import_resolution.type_target.get().is_none() {
24492449
let msg = format!("unresolved import: there is no \
24502450
`{}` in `{}`",
24512451
self.session.str_of(source),
@@ -2472,7 +2472,7 @@ impl Resolver {
24722472
}
24732473
None => {}
24742474
}
2475-
match import_resolution.type_target {
2475+
match import_resolution.type_target.get() {
24762476
Some(target) => {
24772477
let def = target.bindings.def_for_namespace(TypeNS).unwrap();
24782478
self.def_map.insert(directive.id, def);
@@ -2519,7 +2519,7 @@ impl Resolver {
25192519
.iter() {
25202520
debug!("(resolving glob import) writing module resolution \
25212521
{:?} into `{}`",
2522-
target_import_resolution.type_target.is_none(),
2522+
target_import_resolution.type_target.get().is_none(),
25232523
self.module_to_str(module_));
25242524

25252525
if !target_import_resolution.is_public.get() {
@@ -2537,8 +2537,8 @@ impl Resolver {
25372537
@mut ImportResolution::new(id, is_public);
25382538
new_import_resolution.value_target.set(
25392539
target_import_resolution.value_target.get());
2540-
new_import_resolution.type_target =
2541-
target_import_resolution.type_target;
2540+
new_import_resolution.type_target.set(
2541+
target_import_resolution.type_target.get());
25422542

25432543
import_resolutions.get().insert
25442544
(*ident, new_import_resolution);
@@ -2556,13 +2556,13 @@ impl Resolver {
25562556
Some(value_target));
25572557
}
25582558
}
2559-
match target_import_resolution.type_target {
2559+
match target_import_resolution.type_target.get() {
25602560
None => {
25612561
// Continue.
25622562
}
25632563
Some(type_target) => {
2564-
dest_import_resolution.type_target =
2565-
Some(type_target);
2564+
dest_import_resolution.type_target.set(
2565+
Some(type_target));
25662566
}
25672567
}
25682568
dest_import_resolution.is_public.set(is_public);
@@ -2602,8 +2602,8 @@ impl Resolver {
26022602
}
26032603
if name_bindings.defined_in_public_namespace(TypeNS) {
26042604
debug!("(resolving glob import) ... for type target");
2605-
dest_import_resolution.type_target =
2606-
Some(Target::new(containing_module, name_bindings));
2605+
dest_import_resolution.type_target.set(
2606+
Some(Target::new(containing_module, name_bindings)));
26072607
dest_import_resolution.type_id = id;
26082608
}
26092609
dest_import_resolution.is_public.set(is_public);

0 commit comments

Comments
 (0)