Skip to content

Commit 74b8868

Browse files
committed
rustc: remove Gc<Def> and depth from DefUpvar.
1 parent 7c5df40 commit 74b8868

File tree

9 files changed

+10
-21
lines changed

9 files changed

+10
-21
lines changed

src/librustc/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ This API is completely unstable and subject to change.
2929
html_root_url = "http://doc.rust-lang.org/master/")]
3030

3131
#![allow(deprecated)]
32-
#![feature(macro_rules, globs, struct_variant, managed_boxes, quote)]
32+
#![feature(macro_rules, globs, struct_variant, quote)]
3333
#![feature(default_type_params, phase, unsafe_destructor)]
3434

3535
#![allow(unknown_features)] // NOTE: Remove after next snapshot

src/librustc/middle/astencode.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ use syntax;
4141
use libc;
4242
use std::io::Seek;
4343
use std::mem;
44-
use std::gc::GC;
4544
use std::rc::Rc;
4645

4746
use rbml::io::SeekableMemWriter;
@@ -471,10 +470,8 @@ impl tr for def::Def {
471470
def::DefPrimTy(p) => def::DefPrimTy(p),
472471
def::DefTyParam(s, did, v) => def::DefTyParam(s, did.tr(dcx), v),
473472
def::DefUse(did) => def::DefUse(did.tr(dcx)),
474-
def::DefUpvar(nid1, def, depth, nid2, nid3) => {
473+
def::DefUpvar(nid1, nid2, nid3) => {
475474
def::DefUpvar(dcx.tr_id(nid1),
476-
box(GC) (*def).tr(dcx),
477-
depth,
478475
dcx.tr_id(nid2),
479476
dcx.tr_id(nid3))
480477
}

src/librustc/middle/def.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ use middle::subst::ParamSpace;
1212
use syntax::ast;
1313
use syntax::ast_util::local_def;
1414

15-
use std::gc::Gc;
16-
1715
#[deriving(Clone, PartialEq, Eq, Encodable, Decodable, Hash, Show)]
1816
pub enum Def {
1917
DefFn(ast::DefId, ast::FnStyle),
@@ -31,8 +29,6 @@ pub enum Def {
3129
DefTyParam(ParamSpace, ast::DefId, uint),
3230
DefUse(ast::DefId),
3331
DefUpvar(ast::NodeId, // id of closed over local
34-
Gc<Def>, // closed over def
35-
u32, // number of closures implicitely capturing this local
3632
ast::NodeId, // expr node that creates the closure
3733
ast::NodeId), // block node for the closest enclosing proc
3834
// or unboxed closure, DUMMY_NODE_ID otherwise
@@ -70,7 +66,7 @@ impl Def {
7066
}
7167
DefLocal(id) |
7268
DefSelfTy(id) |
73-
DefUpvar(id, _, _, _, _) |
69+
DefUpvar(id, _, _) |
7470
DefRegion(id) |
7571
DefTyParamBinder(id) |
7672
DefLabel(id) => {

src/librustc/middle/mem_categorization.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ impl<'t,'tcx,TYPER:Typer<'tcx>> MemCategorizationContext<'t,TYPER> {
546546
}))
547547
}
548548

549-
def::DefUpvar(var_id, _, _, fn_node_id, _) => {
549+
def::DefUpvar(var_id, fn_node_id, _) => {
550550
let ty = if_ok!(self.node_ty(fn_node_id));
551551
match ty::get(ty).sty {
552552
ty::ty_closure(ref closure_ty) => {

src/librustc/middle/resolve.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ use syntax::visit::Visitor;
6060

6161
use std::collections::{HashMap, HashSet};
6262
use std::cell::{Cell, RefCell};
63-
use std::gc::GC;
6463
use std::mem::replace;
6564
use std::rc::{Rc, Weak};
6665
use std::uint;
@@ -3849,7 +3848,6 @@ impl<'a> Resolver<'a> {
38493848
DlDef(d @ DefLocal(_)) => {
38503849
let node_id = d.def_id().node;
38513850
let mut def = d;
3852-
let mut depth = 0;
38533851
let mut last_proc_body_id = ast::DUMMY_NODE_ID;
38543852
for rib in ribs.iter() {
38553853
match rib.kind {
@@ -3861,9 +3859,7 @@ impl<'a> Resolver<'a> {
38613859
if maybe_proc_body != ast::DUMMY_NODE_ID {
38623860
last_proc_body_id = maybe_proc_body;
38633861
}
3864-
def = DefUpvar(node_id, box(GC) def,
3865-
depth, function_id, last_proc_body_id);
3866-
depth += 1;
3862+
def = DefUpvar(node_id, function_id, last_proc_body_id);
38673863

38683864
let mut seen = self.freevars_seen.borrow_mut();
38693865
let seen = seen.find_or_insert(function_id, NodeSet::new());

src/librustc/middle/trans/_match.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1226,7 +1226,7 @@ pub fn trans_match<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
12261226
fn is_discr_reassigned(bcx: Block, discr: &ast::Expr, body: &ast::Expr) -> bool {
12271227
match discr.node {
12281228
ast::ExprPath(..) => match bcx.def(discr.id) {
1229-
def::DefLocal(vid) | def::DefUpvar(vid, _, _, _, _) => {
1229+
def::DefLocal(vid) | def::DefUpvar(vid, _, _) => {
12301230
let mut rc = ReassignmentChecker {
12311231
node: vid,
12321232
reassigned: false

src/librustc/middle/trans/expr.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1176,7 +1176,7 @@ pub fn trans_local_var<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
11761176
let _icx = push_ctxt("trans_local_var");
11771177

11781178
match def {
1179-
def::DefUpvar(nid, _, _, _, _) => {
1179+
def::DefUpvar(nid, _, _) => {
11801180
// Can't move upvars, so this is never a ZeroMemLastUse.
11811181
let local_ty = node_id_type(bcx, nid);
11821182
match bcx.fcx.llupvars.borrow().find(&nid) {

src/librustc/middle/typeck/check/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5026,7 +5026,7 @@ pub fn polytype_for_def(fcx: &FnCtxt,
50265026
defn: def::Def)
50275027
-> Polytype {
50285028
match defn {
5029-
def::DefLocal(nid) | def::DefUpvar(nid, _, _, _, _) => {
5029+
def::DefLocal(nid) | def::DefUpvar(nid, _, _) => {
50305030
let typ = fcx.local_ty(sp, nid);
50315031
return no_params(typ);
50325032
}

src/librustc/middle/typeck/check/regionck.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ fn region_of_def(fcx: &FnCtxt, def: def::Def) -> ty::Region {
244244
def::DefLocal(node_id) => {
245245
tcx.region_maps.var_region(node_id)
246246
}
247-
def::DefUpvar(node_id, _, _, _, body_id) => {
247+
def::DefUpvar(node_id, _, body_id) => {
248248
if body_id == ast::DUMMY_NODE_ID {
249249
tcx.region_maps.var_region(node_id)
250250
} else {
@@ -1029,7 +1029,7 @@ fn check_expr_fn_block(rcx: &mut Rcx,
10291029
// determining the final borrow_kind) and propagate that as
10301030
// a constraint on the outer closure.
10311031
match freevar.def {
1032-
def::DefUpvar(var_id, _, _, outer_closure_id, _) => {
1032+
def::DefUpvar(var_id, outer_closure_id, _) => {
10331033
// thing being captured is itself an upvar:
10341034
let outer_upvar_id = ty::UpvarId {
10351035
var_id: var_id,

0 commit comments

Comments
 (0)