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 @@ -455,18 +455,14 @@ fn fn_sig_suggestion<'tcx>(
455
455
let mut output = sig. output ( ) ;
456
456
457
457
let asyncness = if tcx. asyncness ( assoc. def_id ) . is_async ( ) {
458
- output = if let ty:: Alias ( _, alias_ty) = * output. kind ( ) {
459
- tcx. explicit_item_self_bounds ( alias_ty. def_id )
458
+ output = if let ty:: Alias ( _, alias_ty) = * output. kind ( )
459
+ && let Some ( output) = tcx
460
+ . explicit_item_self_bounds ( alias_ty. def_id )
460
461
. iter_instantiated_copied ( tcx, alias_ty. args )
461
462
. find_map ( |( bound, _) | {
462
463
bound. as_projection_clause ( ) ?. no_bound_vars ( ) ?. term . as_type ( )
463
- } )
464
- . unwrap_or_else ( || {
465
- span_bug ! (
466
- ident. span,
467
- "expected async fn to have `impl Future` output, but it returns {output}"
468
- )
469
- } )
464
+ } ) {
465
+ output
470
466
} else {
471
467
span_bug ! (
472
468
ident. span,
You can’t perform that action at this time.
0 commit comments