Skip to content

Commit d10b5c7

Browse files
sanxiyncatamorphism
authored andcommitted
Add is_mutbl field to def_arg
1 parent 4dd29de commit d10b5c7

File tree

9 files changed

+14
-12
lines changed

9 files changed

+14
-12
lines changed

src/librustc/middle/astencode.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ impl ast::def: tr {
415415
ast::def_mod(did) => { ast::def_mod(did.tr(xcx)) }
416416
ast::def_foreign_mod(did) => { ast::def_foreign_mod(did.tr(xcx)) }
417417
ast::def_const(did) => { ast::def_const(did.tr(xcx)) }
418-
ast::def_arg(nid, m) => { ast::def_arg(xcx.tr_id(nid), m) }
418+
ast::def_arg(nid, m, b) => { ast::def_arg(xcx.tr_id(nid), m, b) }
419419
ast::def_local(nid, b) => { ast::def_local(xcx.tr_id(nid), b) }
420420
ast::def_variant(e_did, v_did) => {
421421
ast::def_variant(e_did.tr(xcx), v_did.tr(xcx))

src/librustc/middle/liveness.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ enum VarKind {
286286
fn relevant_def(def: def) -> Option<node_id> {
287287
match def {
288288
def_binding(nid, _) |
289-
def_arg(nid, _) |
289+
def_arg(nid, _, _) |
290290
def_local(nid, _) |
291291
def_self(nid, _) => Some(nid),
292292

src/librustc/middle/mem_categorization.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ impl &mem_categorization_ctxt {
453453
mutbl:m_imm, ty:expr_ty}
454454
}
455455

456-
ast::def_arg(vid, mode) => {
456+
ast::def_arg(vid, mode, _) => {
457457
// Idea: make this could be rewritten to model by-ref
458458
// stuff as `&const` and `&mut`?
459459

src/librustc/middle/resolve.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4561,7 +4561,8 @@ impl Resolver {
45614561
}
45624562
ArgumentIrrefutableMode(argument_mode) => {
45634563
// And for function arguments, `def_arg`.
4564-
def_arg(pattern.id, argument_mode)
4564+
def_arg(pattern.id, argument_mode,
4565+
is_mutable)
45654566
}
45664567
};
45674568

src/librustc/middle/trans/expr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,7 @@ fn trans_local_var(bcx: block,
854854
}
855855
}
856856
}
857-
ast::def_arg(nid, _) => {
857+
ast::def_arg(nid, _, _) => {
858858
take_local(bcx, bcx.fcx.llargs, nid, expr_id_opt)
859859
}
860860
ast::def_local(nid, _) | ast::def_binding(nid, _) => {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2818,7 +2818,7 @@ fn ty_param_bounds_and_ty_for_def(fcx: @fn_ctxt, sp: span, defn: ast::def) ->
28182818
ty_param_bounds_and_ty {
28192819

28202820
match defn {
2821-
ast::def_arg(nid, _) | ast::def_local(nid, _) |
2821+
ast::def_arg(nid, _, _) | ast::def_local(nid, _) |
28222822
ast::def_self(nid, _) | ast::def_binding(nid, _) => {
28232823
assert (fcx.inh.locals.contains_key(nid));
28242824
let typ = ty::mk_var(fcx.ccx.tcx, lookup_local(fcx, sp, nid));

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ type rvt = visit::vt<@rcx>;
5555
fn encl_region_of_def(fcx: @fn_ctxt, def: ast::def) -> ty::Region {
5656
let tcx = fcx.tcx();
5757
match def {
58-
def_local(node_id, _) | def_arg(node_id, _) | def_self(node_id, _) |
59-
def_binding(node_id, _) =>
58+
def_local(node_id, _) | def_arg(node_id, _, _) |
59+
def_self(node_id, _) | def_binding(node_id, _) =>
6060
return encl_region(tcx, node_id),
6161
def_upvar(_, subdef, closure_id, body_id) => {
6262
match ty_fn_proto(fcx.node_ty(closure_id)) {

src/libsyntax/ast.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ enum def {
139139
def_mod(def_id),
140140
def_foreign_mod(def_id),
141141
def_const(def_id),
142-
def_arg(node_id, mode),
142+
def_arg(node_id, mode, bool /* is_mutbl */),
143143
def_local(node_id, bool /* is_mutbl */),
144144
def_variant(def_id /* enum */, def_id /* variant */),
145145
def_ty(def_id),
@@ -203,9 +203,10 @@ impl def : cmp::Eq {
203203
_ => false
204204
}
205205
}
206-
def_arg(e0a, e1a) => {
206+
def_arg(e0a, e1a, e2a) => {
207207
match (*other) {
208-
def_arg(e0b, e1b) => e0a == e0b && e1a == e1b,
208+
def_arg(e0b, e1b, e2b) =>
209+
e0a == e0b && e1a == e1b && e2a == e2b,
209210
_ => false
210211
}
211212
}

src/libsyntax/ast_util.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ pure fn def_id_of_def(d: def) -> def_id {
8686
def_use(id) | def_struct(id) => {
8787
id
8888
}
89-
def_arg(id, _) | def_local(id, _) | def_self(id, _) | def_self_ty(id)
89+
def_arg(id, _, _) | def_local(id, _) | def_self(id, _) | def_self_ty(id)
9090
| def_upvar(id, _, _, _) | def_binding(id, _) | def_region(id)
9191
| def_typaram_binder(id) | def_label(id) => {
9292
local_def(id)

0 commit comments

Comments
 (0)