@@ -355,6 +355,7 @@ pub(super) fn dump_annotation<'a, 'tcx>(
355355 mir_def_id : DefId ,
356356 regioncx : & RegionInferenceContext < ' tcx > ,
357357 closure_region_requirements : & Option < ClosureRegionRequirements < ' _ > > ,
358+ opaque_type_values : & FxHashMap < DefId , ty:: ResolvedOpaqueTy < ' tcx > > ,
358359 errors_buffer : & mut Vec < Diagnostic > ,
359360) {
360361 let tcx = infcx. tcx ;
@@ -370,7 +371,7 @@ pub(super) fn dump_annotation<'a, 'tcx>(
370371 // viewing the intraprocedural state, the -Zdump-mir output is
371372 // better.
372373
373- if let Some ( closure_region_requirements) = closure_region_requirements {
374+ let mut err = if let Some ( closure_region_requirements) = closure_region_requirements {
374375 let mut err = tcx. sess . diagnostic ( ) . span_note_diag ( body. span , "External requirements" ) ;
375376
376377 regioncx. annotate ( tcx, & mut err) ;
@@ -388,13 +389,19 @@ pub(super) fn dump_annotation<'a, 'tcx>(
388389 } )
389390 . unwrap ( ) ;
390391
391- err. buffer ( errors_buffer ) ;
392+ err
392393 } else {
393394 let mut err = tcx. sess . diagnostic ( ) . span_note_diag ( body. span , "No external requirements" ) ;
394395 regioncx. annotate ( tcx, & mut err) ;
395396
396- err. buffer ( errors_buffer) ;
397+ err
398+ } ;
399+
400+ if !opaque_type_values. is_empty ( ) {
401+ err. note ( & format ! ( "Inferred opaque type values:\n {:#?}" , opaque_type_values) ) ;
397402 }
403+
404+ err. buffer ( errors_buffer) ;
398405}
399406
400407fn for_each_region_constraint (
0 commit comments