// handled specially and will not descend into this routine.
this.ty_infer(None, None, None, ast_ty.span)
}
+ ast::TyMac(_) => {
+ tcx.sess.span_bug(m.span, "unexpanded type macro found conversion")
+ }
};
tcx.ast_ty_to_ty_cache.borrow_mut().insert(ast_ty.id, typ);
TyTypeof(..) => {
panic!("Unimplemented type {:?}", self.node)
},
+ TyMac(..) => {
+ cx.tcx().sess.span_bug(m.span, "unexpanded type macro found during cleaning")
+ }
}
}
}
/// TyInfer means the type should be inferred instead of it having been
/// specified. This can appear anywhere in a type.
TyInfer,
+ // A macro in the type position.
+ TyMac(Mac)
}
#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug, Copy)]
TyPolyTraitRef(bounds) => {
TyPolyTraitRef(bounds.move_map(|b| fld.fold_ty_param_bound(b)))
}
+ TyMac(mac) => {
+ TyMac(fld.fold_mac(mac))
+ }
},
span: fld.new_span(span)
})
ast::TyInfer => {
try!(word(&mut self.s, "_"));
}
+ ast::TyMac(ref m) => {
+ try!(self.print_mac(m, token::Paren));
+ }
}
self.end()
}
visitor.visit_expr(&**expression)
}
TyInfer => {}
+ TyMac(ref mac) => {
+ visitor.visit_mac(mac)
+ }
}
}