@@ -165,12 +165,19 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
165
165
) ;
166
166
}
167
167
} ;
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) ;
174
181
}
175
182
176
183
fn msg_span_from_free_region ( self ,
@@ -224,6 +231,20 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
224
231
( format ! ( "{} {}" , prefix, msg) , opt_span)
225
232
}
226
233
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
+
227
248
fn item_scope_tag ( item : & hir:: Item ) -> & ' static str {
228
249
match item. node {
229
250
hir:: ItemImpl ( ..) => "impl" ,
0 commit comments