@@ -355,6 +355,7 @@ pub(super) fn dump_annotation<'a, 'tcx>(
355
355
mir_def_id : DefId ,
356
356
regioncx : & RegionInferenceContext < ' tcx > ,
357
357
closure_region_requirements : & Option < ClosureRegionRequirements < ' _ > > ,
358
+ opaque_type_values : & FxHashMap < DefId , ty:: ResolvedOpaqueTy < ' tcx > > ,
358
359
errors_buffer : & mut Vec < Diagnostic > ,
359
360
) {
360
361
let tcx = infcx. tcx ;
@@ -370,7 +371,7 @@ pub(super) fn dump_annotation<'a, 'tcx>(
370
371
// viewing the intraprocedural state, the -Zdump-mir output is
371
372
// better.
372
373
373
- if let Some ( closure_region_requirements) = closure_region_requirements {
374
+ let mut err = if let Some ( closure_region_requirements) = closure_region_requirements {
374
375
let mut err = tcx. sess . diagnostic ( ) . span_note_diag ( body. span , "External requirements" ) ;
375
376
376
377
regioncx. annotate ( tcx, & mut err) ;
@@ -388,13 +389,19 @@ pub(super) fn dump_annotation<'a, 'tcx>(
388
389
} )
389
390
. unwrap ( ) ;
390
391
391
- err. buffer ( errors_buffer ) ;
392
+ err
392
393
} else {
393
394
let mut err = tcx. sess . diagnostic ( ) . span_note_diag ( body. span , "No external requirements" ) ;
394
395
regioncx. annotate ( tcx, & mut err) ;
395
396
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) ) ;
397
402
}
403
+
404
+ err. buffer ( errors_buffer) ;
398
405
}
399
406
400
407
fn for_each_region_constraint (
0 commit comments