diff options
| author | Ariel Ben-Yehuda <arielb1@mail.tau.ac.il> | 2014-07-27 18:01:19 +0300 |
|---|---|---|
| committer | Ariel Ben-Yehuda <arielb1@mail.tau.ac.il> | 2014-07-27 18:01:19 +0300 |
| commit | c6b992a53f6a9f3eee0883640adc270910dc9d87 (patch) | |
| tree | 44b85515b008d292727ad24bc3b1003f2a8e7dce | |
| parent | e0d10bb69ab04ab041b39c71f7537d8c63ef9669 (diff) | |
| download | rust-c6b992a53f6a9f3eee0883640adc270910dc9d87.tar.gz rust-c6b992a53f6a9f3eee0883640adc270910dc9d87.zip | |
Remove an unneeded FIXME in coherence.rs
Also, let f; f = ...; is just wrong.
| -rw-r--r-- | src/librustc/middle/typeck/coherence.rs | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/librustc/middle/typeck/coherence.rs b/src/librustc/middle/typeck/coherence.rs index dc0f2a9ffff..fdf9125e6e1 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<t> { - 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) } |
