1
Fork 0

check_static_recursion: Handle foreign items

This commit is contained in:
Ben Gamari 2014-10-24 10:32:43 -04:00
parent ce342f522c
commit b9251cded8
3 changed files with 57 additions and 1 deletions

View file

@ -99,7 +99,17 @@ impl<'a, 'ast, 'v> Visitor<'v> for CheckItemRecursionVisitor<'a, 'ast> {
Some(&DefStatic(def_id, _)) |
Some(&DefConst(def_id)) if
ast_util::is_local(def_id) => {
self.visit_item(&*self.ast_map.expect_item(def_id.node));
match self.ast_map.get(def_id.node) {
ast_map::NodeItem(item) =>
self.visit_item(item),
ast_map::NodeForeignItem(_) => {},
_ => {
self.sess.span_err(e.span,
format!("expected item, found {}",
self.ast_map.node_to_string(def_id.node)).as_slice());
return;
},
}
}
_ => ()
}