From c6b992a53f6a9f3eee0883640adc270910dc9d87 Mon Sep 17 00:00:00 2001 From: Ariel Ben-Yehuda Date: Sun, 27 Jul 2014 18:01:19 +0300 Subject: [PATCH] Remove an unneeded FIXME in coherence.rs Also, let f; f = ...; is just wrong. --- src/librustc/middle/typeck/coherence.rs | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/librustc/middle/typeck/coherence.rs b/src/librustc/middle/typeck/coherence.rs index dc0f2a9ffff73..fdf9125e6e14d 100644 --- a/src/librustc/middle/typeck/coherence.rs +++ b/src/librustc/middle/typeck/coherence.rs @@ -60,29 +60,25 @@ fn get_base_type(inference_context: &InferCtxt, span: Span, original_type: t) -> Option { - let resolved_type; - match resolve_type(inference_context, - Some(span), - original_type, - resolve_ivar) { - Ok(resulting_type) if !type_is_ty_var(resulting_type) => { - resolved_type = resulting_type; - } + let resolved_type = match resolve_type(inference_context, + Some(span), + original_type, + resolve_ivar) { + Ok(resulting_type) if !type_is_ty_var(resulting_type) => resulting_type, _ => { inference_context.tcx.sess.span_fatal(span, "the type of this value must be known in order \ to determine the base type"); } - } + }; match get(resolved_type).sty { ty_enum(..) | ty_struct(..) | ty_unboxed_closure(..) => { debug!("(getting base type) found base type"); Some(resolved_type) } - // FIXME(14865) I would prefere to use `_` here, but that causes a - // compiler error. - ty_uniq(_) | ty_rptr(_, _) | ty_trait(..) if ty::type_is_trait(resolved_type) => { + + _ if ty::type_is_trait(resolved_type) => { debug!("(getting base type) found base type (trait)"); Some(resolved_type) }