From 4c166abbbb4e11f9464f97a468fcd34dbc3d2fb5 Mon Sep 17 00:00:00 2001 From: Brian Koropoff Date: Fri, 3 Oct 2014 22:35:16 -0700 Subject: [PATCH] Handle provided trait methods when giving inference error suggestions This fixes an ICE. Closes issue #17758 --- src/librustc/middle/typeck/infer/error_reporting.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/librustc/middle/typeck/infer/error_reporting.rs b/src/librustc/middle/typeck/infer/error_reporting.rs index 8ff5b3c90249..2a8a695b63ed 100644 --- a/src/librustc/middle/typeck/infer/error_reporting.rs +++ b/src/librustc/middle/typeck/infer/error_reporting.rs @@ -869,6 +869,19 @@ impl<'a, 'tcx> ErrorReporting for InferCtxt<'a, 'tcx> { ast::TypeImplItem(_) => None, } }, + ast_map::NodeTraitItem(ref item) => { + match **item { + ast::ProvidedMethod(ref m) => { + Some((m.pe_fn_decl(), + m.pe_generics(), + m.pe_fn_style(), + m.pe_ident(), + Some(&m.pe_explicit_self().node), + m.span)) + } + _ => None + } + } _ => None }, None => None