Auto merge of #28813 - arielb1:well-formed-variables, r=nikomatsakis
it doesn't seem to be necessary and is potentially harmful. r? @nikomatsakis
This commit is contained in:
commit
d2047bc97d
@ -1557,21 +1557,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user