diff options
| author | Seo Sanghyeon <sanxiyn@gmail.com> | 2013-02-14 22:36:56 +0900 |
|---|---|---|
| committer | Seo Sanghyeon <sanxiyn@gmail.com> | 2013-02-14 22:36:56 +0900 |
| commit | ae38935ff3d295dbf2fca5a5cef5103e868678bb (patch) | |
| tree | f25055c5d3710d15e9df7acff78029eba17a707d /src | |
| parent | 7a6db3f982cea9c5c1ed9921358988c1180851dc (diff) | |
| download | rust-ae38935ff3d295dbf2fca5a5cef5103e868678bb.tar.gz rust-ae38935ff3d295dbf2fca5a5cef5103e868678bb.zip | |
Remove DVec from check_const
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/middle/check_const.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/librustc/middle/check_const.rs b/src/librustc/middle/check_const.rs index 6d4de6aeb93..c86f7ea5a92 100644 --- a/src/librustc/middle/check_const.rs +++ b/src/librustc/middle/check_const.rs @@ -16,7 +16,6 @@ use middle::ty; use middle::typeck; use util::ppaux; -use core::dvec::DVec; use core::option; use std::oldmap::HashMap; use syntax::ast::*; @@ -212,20 +211,20 @@ pub fn check_item_recursion(sess: Session, ast_map: ast_map::map, def_map: resolve::DefMap, it: @item) { - type env = { + struct env { root_it: @item, sess: Session, ast_map: ast_map::map, def_map: resolve::DefMap, - idstack: @DVec<node_id>, - }; + idstack: @mut ~[node_id] + } - let env = { + let env = env { root_it: it, sess: sess, ast_map: ast_map, def_map: def_map, - idstack: @DVec() + idstack: @mut ~[] }; let visitor = visit::mk_vt(@visit::Visitor { @@ -236,12 +235,12 @@ pub fn check_item_recursion(sess: Session, (visitor.visit_item)(it, env, visitor); fn visit_item(it: @item, &&env: env, v: visit::vt<env>) { - if (*env.idstack).contains(&(it.id)) { + if env.idstack.contains(&(it.id)) { env.sess.span_fatal(env.root_it.span, ~"recursive constant"); } - (*env.idstack).push(it.id); + env.idstack.push(it.id); visit::visit_item(it, env, v); - (*env.idstack).pop(); + env.idstack.pop(); } fn visit_expr(e: @expr, &&env: env, v: visit::vt<env>) { |
