Skip to content

Commit 0ad68cc

Browse files
committed
---
yaml --- r: 94703 b: refs/heads/try c: 9253df1 h: refs/heads/master i: 94701: f6d7974 94699: 6138b49 94695: 21dc745 94687: 39933b8 v: v3
1 parent aabbf45 commit 0ad68cc

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
@@ -2,7 +2,7 @@
22
refs/heads/master: 0da105a8b7b6b1e0568e8ff20f6ff4b13cc7ecc2
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d3e57dca68fde4effdda3e4ae2887aa535fcd6
5-
refs/heads/try: c10d7177db81bd207705a92f6453f82ab11521a7
5+
refs/heads/try: 9253df1844985ded53a3d5353b506b5ec8a33131
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/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)