@@ -165,12 +165,19 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
165165 ) ;
166166 }
167167 } ;
168- let message = format ! ( "{}{}{}" , prefix, description, suffix) ;
169- if let Some ( span) = span {
170- err. span_note ( span, & message) ;
171- } else {
172- err. note ( & message) ;
173- }
168+
169+ TyCtxt :: emit_msg_span ( err, prefix, description, span, suffix) ;
170+ }
171+
172+ pub fn note_and_explain_free_region ( self ,
173+ err : & mut DiagnosticBuilder ,
174+ prefix : & str ,
175+ region : ty:: Region < ' tcx > ,
176+ suffix : & str ) {
177+ let ( description, span) = self . msg_span_from_free_region ( region) ;
178+
179+
180+ TyCtxt :: emit_msg_span ( err, prefix, description, span, suffix) ;
174181 }
175182
176183 fn msg_span_from_free_region ( self ,
@@ -224,6 +231,20 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
224231 ( format ! ( "{} {}" , prefix, msg) , opt_span)
225232 }
226233
234+ fn emit_msg_span ( err : & mut DiagnosticBuilder ,
235+ prefix : & str ,
236+ description : String ,
237+ span : Option < Span > ,
238+ suffix : & str ) {
239+ let message = format ! ( "{}{}{}" , prefix, description, suffix) ;
240+
241+ if let Some ( span) = span {
242+ err. span_note ( span, & message) ;
243+ } else {
244+ err. note ( & message) ;
245+ }
246+ }
247+
227248 fn item_scope_tag ( item : & hir:: Item ) -> & ' static str {
228249 match item. node {
229250 hir:: ItemImpl ( ..) => "impl" ,
0 commit comments