let region_map = time(time_passes, "region resolution", (), |_|
middle::region::resolve_crate(&sess, krate));
+ time(time_passes, "loop checking", (), |_|
+ middle::check_loop::check_crate(&sess, krate));
+
let ty_cx = ty::mk_ctxt(sess, def_map, named_region_map, ast_map,
freevars, region_map, lang_items);
time(time_passes, "effect checking", (), |_|
middle::effect::check_crate(&ty_cx, method_map, krate));
- time(time_passes, "loop checking", (), |_|
- middle::check_loop::check_crate(&ty_cx, krate));
-
let middle::moves::MoveMaps {moves_map, moved_variables_set,
capture_map} =
time(time_passes, "compute moves", (), |_|
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-use middle::ty;
+use driver::session::Session;
use syntax::ast;
use syntax::codemap::Span;
}
struct CheckLoopVisitor<'a> {
- tcx: &'a ty::ctxt,
+ sess: &'a Session,
}
-pub fn check_crate(tcx: &ty::ctxt, krate: &ast::Crate) {
- visit::walk_crate(&mut CheckLoopVisitor { tcx: tcx }, krate, Normal)
+pub fn check_crate(sess: &Session, krate: &ast::Crate) {
+ visit::walk_crate(&mut CheckLoopVisitor { sess: sess }, krate, Normal)
}
impl<'a> Visitor<Context> for CheckLoopVisitor<'a> {
match cx {
Loop => {}
Closure => {
- self.tcx.sess.span_err(span, format!("`{}` inside of a closure",
- name));
+ self.sess.span_err(span, format!("`{}` inside of a closure", name));
}
Normal => {
- self.tcx.sess.span_err(span, format!("`{}` outside of loop",
- name));
+ self.sess.span_err(span, format!("`{}` outside of loop", name));
}
}
}