pub fn to_ty(&self, ast_t: &hir::Ty) -> Ty<'tcx> {
let t = ast_ty_to_ty(self, self, ast_t);
-
- // Generally speaking, we must check that types entered by the
- // user are well-formed. This is not true for `_`, since those
- // types are generated by inference. Now, you might think that
- // we could as well generate a WF obligation -- but
- // unfortunately that breaks code like `foo as *const _`,
- // because those type variables wind up being unconstrained
- // until very late. Nasty. Probably it'd be best to refactor
- // that code path, but that's tricky because of
- // defaults. Argh!
- match ast_t.node {
- hir::TyInfer => { }
- _ => { self.register_wf_obligation(t, ast_t.span, traits::MiscObligation); }
- }
-
+ self.register_wf_obligation(t, ast_t.span, traits::MiscObligation);
t
}