Fix an ICE with error types in a vec

Closes #16783
This commit is contained in:
Nick Cameron 2014-08-28 10:30:30 +12:00
parent f2b87e9ff0
commit d13fe1c528
2 changed files with 20 additions and 0 deletions

View file

@ -3266,6 +3266,11 @@ pub fn adjust_ty(cx: &ctxt,
-> ty::t {
/*! See `expr_ty_adjusted` */
match get(unadjusted_ty).sty {
ty_err => return unadjusted_ty,
_ => {}
}
return match adjustment {
Some(adjustment) => {
match *adjustment {

View file

@ -0,0 +1,15 @@
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
pub fn main() {
let x = [1, 2, 3];
//~^ ERROR cannot determine a type for this local variable: cannot determine the type of this
let y = x.as_slice();
}