Skip to content

Commit 8d8b834

Browse files
committed
---
yaml --- r: 89039 b: refs/heads/snap-stage3 c: 9253df1 h: refs/heads/master i: 89037: 7be72e0 89035: 166c2cf 89031: 30e3b80 89023: 8e96055 v: v3
1 parent cdd7f3b commit 8d8b834

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
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: deeca5d586bfaa4aa60246f671a8d611d38f6248
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: c10d7177db81bd207705a92f6453f82ab11521a7
4+
refs/heads/snap-stage3: 9253df1844985ded53a3d5353b506b5ec8a33131
55
refs/heads/try: b160761e35efcd1207112b3b782c06633cf441a8
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/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)