Skip to content

Commit ccec510

Browse files
committed
librustc: Stop parsing fn@, fn~, and fn&
1 parent ce3b17b commit ccec510

File tree

21 files changed

+22
-113
lines changed

21 files changed

+22
-113
lines changed

src/librustc/middle/borrowck/check_loans.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,8 @@ pub impl CheckLoanCtxt {
212212
(*self.fn_args).contains(&(did.node));
213213
if is_fn_arg { return; } // case (a) above
214214
}
215-
ast::expr_fn_block(*) | ast::expr_fn(*) |
216-
ast::expr_loop_body(*) | ast::expr_do_body(*) => {
215+
ast::expr_fn_block(*) | ast::expr_loop_body(*) |
216+
ast::expr_do_body(*) => {
217217
if self.is_stack_closure(expr.id) {
218218
// case (b) above
219219
return;
@@ -244,7 +244,7 @@ pub impl CheckLoanCtxt {
244244
}
245245

246246
// True if the expression with the given `id` is a stack closure.
247-
// The expression must be an expr_fn(*) or expr_fn_block(*)
247+
// The expression must be an expr_fn_block(*)
248248
fn is_stack_closure(@mut self, id: ast::node_id) -> bool {
249249
let fn_ty = ty::node_id_to_type(self.tcx(), id);
250250
match ty::get(fn_ty).sty {
@@ -262,10 +262,8 @@ pub impl CheckLoanCtxt {
262262
did.crate == ast::local_crate &&
263263
(*self.fn_args).contains(&(did.node))
264264
}
265-
ast::expr_fn_block(*) | ast::expr_fn(*) => {
266-
self.is_stack_closure(expr.id)
267-
}
268-
_ => false
265+
ast::expr_fn_block(*) => self.is_stack_closure(expr.id),
266+
_ => false,
269267
};
270268
}
271269

src/librustc/middle/check_loop.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,6 @@ pub fn check_crate(tcx: ty::ctxt, crate: @crate) {
3838
expr_loop(ref b, _) => {
3939
(v.visit_block)(b, Context { in_loop: true,.. cx }, v);
4040
}
41-
expr_fn(*) => {
42-
visit::visit_expr(e, Context {
43-
in_loop: false,
44-
can_ret: true
45-
}, v);
46-
}
4741
expr_fn_block(_, ref b) => {
4842
(v.visit_block)(b, Context {
4943
in_loop: false,

src/librustc/middle/freevars.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,7 @@ fn collect_freevars(def_map: resolve::DefMap, blk: &ast::blk)
4949
let walk_expr: @fn(expr: @ast::expr, &&depth: int, v: visit::vt<int>) =
5050
|expr, depth, v| {
5151
match expr.node {
52-
ast::expr_fn(_, _, _, _) => {
53-
visit::visit_expr(expr, depth + 1, v);
54-
}
55-
ast::expr_fn_block(*) => {
56-
visit::visit_expr(expr, depth + 1, v);
57-
}
52+
ast::expr_fn_block(*) => visit::visit_expr(expr, depth + 1, v),
5853
ast::expr_path(*) => {
5954
let mut i = 0;
6055
match def_map.find(&expr.id) {

src/librustc/middle/liveness.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,6 @@ fn visit_expr(expr: @expr, &&self: @mut IrMaps, vt: vt<@mut IrMaps>) {
570570
}
571571
visit::visit_expr(expr, self, vt);
572572
}
573-
expr_fn(*) |
574573
expr_fn_block(*) => {
575574
// Interesting control flow (for loops can contain labeled
576575
// breaks or continues)
@@ -1123,8 +1122,8 @@ pub impl Liveness {
11231122
self.propagate_through_expr(e, succ)
11241123
}
11251124

1126-
expr_fn(_, _, ref blk, _) | expr_fn_block(_, ref blk) => {
1127-
debug!("%s is an expr_fn or expr_fn_block",
1125+
expr_fn_block(_, ref blk) => {
1126+
debug!("%s is an expr_fn_block",
11281127
expr_to_str(expr, self.tcx.sess.intr()));
11291128

11301129
/*
@@ -1592,7 +1591,7 @@ fn check_expr(expr: @expr, &&self: @Liveness, vt: vt<@Liveness>) {
15921591
visit::visit_expr(expr, self, vt);
15931592
}
15941593

1595-
expr_fn(*) | expr_fn_block(*) => {
1594+
expr_fn_block(*) => {
15961595
let caps = self.ir.captures(expr);
15971596
for caps.each |cap| {
15981597
let var = self.variable(cap.var_nid, expr.span);
@@ -1794,7 +1793,7 @@ pub impl @Liveness {
17941793
}
17951794

17961795
match move_expr.node {
1797-
expr_fn(*) | expr_fn_block(*) => {
1796+
expr_fn_block(*) => {
17981797
self.report_illegal_read(
17991798
move_expr.span, lnk, var, MovedValue);
18001799
let name = self.ir.variable_name(var);

src/librustc/middle/mem_categorization.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ pub impl mem_categorization_ctxt {
441441

442442
ast::expr_addr_of(*) | ast::expr_call(*) |
443443
ast::expr_swap(*) | ast::expr_assign(*) |
444-
ast::expr_assign_op(*) | ast::expr_fn(*) | ast::expr_fn_block(*) |
444+
ast::expr_assign_op(*) | ast::expr_fn_block(*) |
445445
ast::expr_assert(*) | ast::expr_ret(*) |
446446
ast::expr_loop_body(*) | ast::expr_do_body(*) |
447447
ast::expr_unary(*) | ast::expr_method_call(*) |

src/librustc/middle/moves.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,6 @@ pub impl VisitContext {
644644
self.use_expr(base, comp_mode, visitor);
645645
}
646646

647-
expr_fn(_, _, ref body, _) |
648647
expr_fn_block(_, ref body) => {
649648
let cap_vars = self.compute_captures(expr.id);
650649
self.move_maps.capture_map.insert(expr.id, cap_vars);

src/librustc/middle/resolve.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ use syntax::ast::{def_local, def_mod, def_prim_ty, def_region, def_self};
3434
use syntax::ast::{def_self_ty, def_static_method, def_struct, def_ty};
3535
use syntax::ast::{def_ty_param, def_typaram_binder};
3636
use syntax::ast::{def_upvar, def_use, def_variant, expr, expr_assign_op};
37-
use syntax::ast::{expr_binary, expr_break, expr_cast, expr_field, expr_fn};
37+
use syntax::ast::{expr_binary, expr_break, expr_cast, expr_field};
3838
use syntax::ast::{expr_fn_block, expr_index, expr_method_call, expr_path};
3939
use syntax::ast::{def_prim_ty, def_region, def_self, def_ty, def_ty_param};
4040
use syntax::ast::{def_upvar, def_use, def_variant, div, eq};
4141
use syntax::ast::{enum_variant_kind, expr, expr_again, expr_assign_op};
42-
use syntax::ast::{expr_fn_block, expr_index, expr_loop};
42+
use syntax::ast::{expr_index, expr_loop};
4343
use syntax::ast::{expr_path, expr_struct, expr_unary, fn_decl};
4444
use syntax::ast::{foreign_item, foreign_item_const, foreign_item_fn, ge};
4545
use syntax::ast::{Generics};
@@ -4810,7 +4810,6 @@ pub impl Resolver {
48104810
visit_expr(expr, (), visitor);
48114811
}
48124812

4813-
expr_fn(_, ref fn_decl, ref block, _) |
48144813
expr_fn_block(ref fn_decl, ref block) => {
48154814
self.resolve_function(FunctionRibKind(expr.id, block.node.id),
48164815
Some(@/*bad*/copy *fn_decl),

src/librustc/middle/trans/debuginfo.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -869,15 +869,12 @@ pub fn create_function(fcx: fn_ctxt) -> @Metadata<SubProgramMetadata> {
869869
}
870870
ast_map::node_expr(expr) => {
871871
match /*bad*/copy expr.node {
872-
ast::expr_fn(_, decl, _, _) => {
873-
((dbg_cx.names)(~"fn"), decl.output, expr.id)
874-
}
875872
ast::expr_fn_block(decl, _) => {
876873
((dbg_cx.names)(~"fn"), decl.output, expr.id)
877874
}
878875
_ => fcx.ccx.sess.span_bug(expr.span,
879876
~"create_function: \
880-
expected an expr_fn or fn_block here")
877+
expected an expr_fn_block here")
881878
}
882879
}
883880
ast_map::node_dtor(_, _, did, _) => {

src/librustc/middle/trans/expr.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,6 @@ fn trans_rvalue_dps_unadjusted(bcx: block, expr: @ast::expr,
619619
ast::expr_vec(*) | ast::expr_repeat(*) => {
620620
return tvec::trans_fixed_vstore(bcx, expr, expr, dest);
621621
}
622-
ast::expr_fn(_, ref decl, ref body, _) |
623622
ast::expr_fn_block(ref decl, ref body) => {
624623
let expr_ty = expr_ty(bcx, expr);
625624
let sigil = ty::ty_closure_sigil(expr_ty);

src/librustc/middle/trans/type_use.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ pub fn mark_for_expr(cx: Context, e: @expr) {
301301
}
302302
}
303303
}
304-
expr_fn(*) | expr_fn_block(*) => {
304+
expr_fn_block(*) => {
305305
match ty::ty_closure_sigil(ty::expr_ty(cx.ccx.tcx, e)) {
306306
ast::OwnedSigil => {}
307307
ast::BorrowedSigil | ast::ManagedSigil => {

0 commit comments

Comments
 (0)