Point at async fn return type instead of body in E0746
diff --git a/compiler/rustc_trait_selection/src/error_reporting/traits/suggestions.rs b/compiler/rustc_trait_selection/src/error_reporting/traits/suggestions.rs
index 822025b..e7f588a 100644
--- a/compiler/rustc_trait_selection/src/error_reporting/traits/suggestions.rs
+++ b/compiler/rustc_trait_selection/src/error_reporting/traits/suggestions.rs
@@ -1918,6 +1918,7 @@ pub(super) fn suggest_impl_trait(
             // and
             // async fn foo() -> dyn Display Box<dyn { .. }>
             span = fn_sig.decl.output.span();
+            err.span(span);
         }
         let body = self.tcx.hir_body_owned_by(obligation.cause.body_id);
 
diff --git a/tests/ui/async-await/async-fn/dyn-in-return-type.stderr b/tests/ui/async-await/async-fn/dyn-in-return-type.stderr
index bd2ee4c..341d956 100644
--- a/tests/ui/async-await/async-fn/dyn-in-return-type.stderr
+++ b/tests/ui/async-await/async-fn/dyn-in-return-type.stderr
@@ -1,11 +1,8 @@
 error[E0746]: return type cannot be a trait object without pointer indirection
-  --> $DIR/dyn-in-return-type.rs:3:38
+  --> $DIR/dyn-in-return-type.rs:3:17
    |
-LL |   async fn f() -> dyn core::fmt::Debug {
-   |  ______________________________________^
-...  |
-LL | | }
-   | |_^ doesn't have a size known at compile-time
+LL | async fn f() -> dyn core::fmt::Debug {
+   |                 ^^^^^^^^^^^^^^^^^^^^
    |
 help: consider returning an `impl Trait` instead of a `dyn Trait`
    |