diff options
| author | Oliver Schneider <git-spam-no-reply9815368754983@oli-obk.de> | 2016-02-24 16:07:31 +0100 |
|---|---|---|
| committer | Oliver Schneider <git-spam-no-reply9815368754983@oli-obk.de> | 2016-03-10 12:50:12 +0100 |
| commit | 41f11d95c70cc2f65ee9f068d46a7a6de8f911b3 (patch) | |
| tree | 909fe846daf91a81b53ef107a39949b6f43d1847 | |
| parent | 0d13231a4cfb1f24c7cfc8168d15d19c63bdbdba (diff) | |
| download | rust-41f11d95c70cc2f65ee9f068d46a7a6de8f911b3.tar.gz rust-41f11d95c70cc2f65ee9f068d46a7a6de8f911b3.zip | |
don't guess const fn argument types
| -rw-r--r-- | src/librustc/middle/const_eval.rs | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/src/librustc/middle/const_eval.rs b/src/librustc/middle/const_eval.rs index bc8dfd6c7b0..993c59a5f2c 100644 --- a/src/librustc/middle/const_eval.rs +++ b/src/librustc/middle/const_eval.rs @@ -854,24 +854,7 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &TyCtxt<'tcx>, let mut call_args = NodeMap(); for (arg, arg_expr) in decl.inputs.iter().zip(args.iter()) { - let arg_hint = match ty_hint { - ExprTypeChecked => ExprTypeChecked, - UncheckedExprNoHint | UncheckedExprHint(_) => { - if let Some(hint) = tcx.ast_ty_to_ty_cache.borrow().get(&arg.ty.id) { - let mut new_ty_hint = UncheckedExprHint(hint); - for t in hint.walk() { - if let ty::TypeVariants::TyParam(_) = t.sty { - // found a generic argument, but we are in typeck - new_ty_hint = UncheckedExprNoHint; - break; - } - } - new_ty_hint - } else { - UncheckedExprNoHint - } - }, - }; + let arg_hint = ty_hint.erase_hint(); let arg_val = try!(eval_const_expr_partial( tcx, arg_expr, |
