Fix an ICE when dereferencing types which cannot be dereferenced

This commit is contained in:
Alex Crichton 2013-04-19 18:13:35 -04:00
parent 8b3c09a103
commit 93e13e0eee
2 changed files with 4 additions and 8 deletions

View File

@ -413,12 +413,9 @@ fn constrain_derefs(rcx: @mut Rcx,
match ty::deref(tcx, derefd_ty, true) {
Some(mt) => derefd_ty = mt.ty,
None => {
tcx.sess.span_bug(
deref_expr.span,
fmt!("%?'th deref is of a non-deref'able type `%s`",
i, rcx.fcx.infcx().ty_to_str(derefd_ty)));
}
/* if this type can't be dereferenced, then there's already an error
in the session saying so. Just bail out for now */
None => break
}
}
}

View File

@ -8,9 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// error-pattern:cannot be dereferenced
fn main() {
match *1 {
match *1 { //~ ERROR: cannot be dereferenced
_ => { fail!(); }
}
}