File tree Expand file tree Collapse file tree 1 file changed +5
-9
lines changed
compiler/rustc_hir_analysis/src/check Expand file tree Collapse file tree 1 file changed +5
-9
lines changed Original file line number Diff line number Diff line change @@ -456,18 +456,14 @@ fn fn_sig_suggestion<'tcx>(
456
456
let mut output = sig. output ( ) ;
457
457
458
458
let asyncness = if tcx. asyncness ( assoc. def_id ) . is_async ( ) {
459
- output = if let ty:: Alias ( _, alias_ty) = * output. kind ( ) {
460
- tcx. explicit_item_super_predicates ( alias_ty. def_id )
459
+ output = if let ty:: Alias ( _, alias_ty) = * output. kind ( )
460
+ && let Some ( output) = tcx
461
+ . explicit_item_super_predicates ( alias_ty. def_id )
461
462
. iter_instantiated_copied ( tcx, alias_ty. args )
462
463
. find_map ( |( bound, _) | {
463
464
bound. as_projection_clause ( ) ?. no_bound_vars ( ) ?. term . as_type ( )
464
- } )
465
- . unwrap_or_else ( || {
466
- span_bug ! (
467
- ident. span,
468
- "expected async fn to have `impl Future` output, but it returns {output}"
469
- )
470
- } )
465
+ } ) {
466
+ output
471
467
} else {
472
468
span_bug ! (
473
469
ident. span,
You can’t perform that action at this time.
0 commit comments