Improve error message for AsyncFn
trait failure for RPIT by compiler-errors · Pull Request #137910 · rust-lang/rust (original) (raw)
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation3 Commits1 Checks6 Files changed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
Use a WellFormedDerived
obligation cause to make sure we can turn an AsyncFnKindHelper
trait goal into its parent AsyncFn*
goal, then fix the logic for reporting AsyncFn*
kind mismatches.
Best reviewed without whitespace.
Fixes #137905
r? oli-obk
rustbot added S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
Relevant to the compiler team, which will review and decide on the PR/issue.
labels
@@ -3191,7 +3191,10 @@ impl<'a, 'tcx> TypeErrCtxt<'a, 'tcx> { |
---|
false |
}; |
if !is_upvar_tys_infer_tuple { |
let is_builtin_async_fn_trait = |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without this, we'll report a misleading "due to this closure" note.
📌 Commit e213f4b has been approved by oli-obk
It is now in the queue for this repository.
bors added S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
jieyouxu added a commit to jieyouxu/rust that referenced this pull request
…r, r=oli-obk
Improve error message for AsyncFn
trait failure for RPIT
Use a WellFormedDerived
obligation cause to make sure we can turn an AsyncFnKindHelper
trait goal into its parent AsyncFn*
goal, then fix the logic for reporting AsyncFn*
kind mismatches.
Best reviewed without whitespace.
Fixes rust-lang#137905
r? oli-obk
bors added a commit to rust-lang-ci/rust that referenced this pull request
Rollup of 23 pull requests
Successful merges:
- rust-lang#137303 (Remove
MaybeForgetReturn
suggestion) - rust-lang#137327 (Undeprecate env::home_dir)
- rust-lang#137358 (Match Ergonomics 2024: add context and examples to the unstable book)
- rust-lang#137534 ([rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden))
- rust-lang#137565 (Try to point of macro expansion from resolver and method errors if it involves macro var)
- rust-lang#137637 (Check dyn flavor before registering upcast goal on wide pointer cast in MIR typeck)
- rust-lang#137643 (Add DWARF test case for non-C-like
repr128
enums) - rust-lang#137744 (Re-add
Clone
-derive onThir
) - rust-lang#137758 (fix usage of ty decl macro fragments in attributes)
- rust-lang#137764 (Ensure that negative auto impls are always applicable)
- rust-lang#137772 (Fix char count in
Display
forByteStr
) - rust-lang#137798 (ci: use ubuntu 24 on arm large runner)
- rust-lang#137802 (miri native-call support: all previously exposed provenance is accessible to the callee)
- rust-lang#137805 (adjust Layout debug printing to match the internal field name)
- rust-lang#137808 (Do not require that unsafe fields lack drop glue)
- rust-lang#137820 (Clarify why InhabitedPredicate::instantiate_opt exists)
- rust-lang#137825 (Provide more context on resolve error caused from incorrect RTN)
- rust-lang#137910 (Improve error message for
AsyncFn
trait failure for RPIT) - rust-lang#137920 (interpret/provenance_map: consistently use range_is_empty)
- rust-lang#138038 (Update
compiler-builtins
to 0.1.151) - rust-lang#138041 (bootstrap and compiletest: Use
size_of_val
from the prelude instead of imported) - rust-lang#138046 (trim channel value in
get_closest_merge_commit
) - rust-lang#138053 (Increase the max. custom try jobs requested to
20
)
r? @ghost
@rustbot
modify labels: rollup
jieyouxu added a commit to jieyouxu/rust that referenced this pull request
…r, r=oli-obk
Improve error message for AsyncFn
trait failure for RPIT
Use a WellFormedDerived
obligation cause to make sure we can turn an AsyncFnKindHelper
trait goal into its parent AsyncFn*
goal, then fix the logic for reporting AsyncFn*
kind mismatches.
Best reviewed without whitespace.
Fixes rust-lang#137905
r? oli-obk
bors added a commit to rust-lang-ci/rust that referenced this pull request
compiler-errors added a commit to compiler-errors/rust that referenced this pull request
…r, r=oli-obk
Improve error message for AsyncFn
trait failure for RPIT
Use a WellFormedDerived
obligation cause to make sure we can turn an AsyncFnKindHelper
trait goal into its parent AsyncFn*
goal, then fix the logic for reporting AsyncFn*
kind mismatches.
Best reviewed without whitespace.
Fixes rust-lang#137905
r? oli-obk
Noratrieb added a commit to Noratrieb/rust that referenced this pull request
…r, r=oli-obk
Improve error message for AsyncFn
trait failure for RPIT
Use a WellFormedDerived
obligation cause to make sure we can turn an AsyncFnKindHelper
trait goal into its parent AsyncFn*
goal, then fix the logic for reporting AsyncFn*
kind mismatches.
Best reviewed without whitespace.
Fixes rust-lang#137905
r? oli-obk
Noratrieb added a commit to Noratrieb/rust that referenced this pull request
…compiler-errors
Rollup of 20 pull requests
Successful merges:
- rust-lang#137303 (Remove
MaybeForgetReturn
suggestion) - rust-lang#137327 (Undeprecate env::home_dir)
- rust-lang#137358 (Match Ergonomics 2024: add context and examples to the unstable book)
- rust-lang#137502 (Don't include global asm in
mir_keys
, fix error body synthesis) - rust-lang#137534 ([rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden))
- rust-lang#137565 (Try to point of macro expansion from resolver and method errors if it involves macro var)
- rust-lang#137637 (Check dyn flavor before registering upcast goal on wide pointer cast in MIR typeck)
- rust-lang#137643 (Add DWARF test case for non-C-like
repr128
enums) - rust-lang#137744 (Re-add
Clone
-derive onThir
) - rust-lang#137758 (fix usage of ty decl macro fragments in attributes)
- rust-lang#137764 (Ensure that negative auto impls are always applicable)
- rust-lang#137772 (Fix char count in
Display
forByteStr
) - rust-lang#137798 (ci: use ubuntu 24 on arm large runner)
- rust-lang#137802 (miri native-call support: all previously exposed provenance is accessible to the callee)
- rust-lang#137805 (adjust Layout debug printing to match the internal field name)
- rust-lang#137808 (Do not require that unsafe fields lack drop glue)
- rust-lang#137820 (Clarify why InhabitedPredicate::instantiate_opt exists)
- rust-lang#137825 (Provide more context on resolve error caused from incorrect RTN)
- rust-lang#137868 (Add minimal platform support documentation for powerpc-unknown-linux-gnuspe)
- rust-lang#137910 (Improve error message for
AsyncFn
trait failure for RPIT)
r? @ghost
@rustbot
modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request
…mpiler-errors
Rollup of 20 pull requests
Successful merges:
- rust-lang#137303 (Remove
MaybeForgetReturn
suggestion) - rust-lang#137327 (Undeprecate env::home_dir)
- rust-lang#137358 (Match Ergonomics 2024: add context and examples to the unstable book)
- rust-lang#137502 (Don't include global asm in
mir_keys
, fix error body synthesis) - rust-lang#137534 ([rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden))
- rust-lang#137565 (Try to point of macro expansion from resolver and method errors if it involves macro var)
- rust-lang#137637 (Check dyn flavor before registering upcast goal on wide pointer cast in MIR typeck)
- rust-lang#137643 (Add DWARF test case for non-C-like
repr128
enums) - rust-lang#137744 (Re-add
Clone
-derive onThir
) - rust-lang#137758 (fix usage of ty decl macro fragments in attributes)
- rust-lang#137764 (Ensure that negative auto impls are always applicable)
- rust-lang#137772 (Fix char count in
Display
forByteStr
) - rust-lang#137798 (ci: use ubuntu 24 on arm large runner)
- rust-lang#137802 (miri native-call support: all previously exposed provenance is accessible to the callee)
- rust-lang#137805 (adjust Layout debug printing to match the internal field name)
- rust-lang#137808 (Do not require that unsafe fields lack drop glue)
- rust-lang#137820 (Clarify why InhabitedPredicate::instantiate_opt exists)
- rust-lang#137825 (Provide more context on resolve error caused from incorrect RTN)
- rust-lang#137868 (Add minimal platform support documentation for powerpc-unknown-linux-gnuspe)
- rust-lang#137910 (Improve error message for
AsyncFn
trait failure for RPIT)
r? @ghost
@rustbot
modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request
…mpiler-errors
Rollup of 20 pull requests
Successful merges:
- rust-lang#137303 (Remove
MaybeForgetReturn
suggestion) - rust-lang#137327 (Undeprecate env::home_dir)
- rust-lang#137358 (Match Ergonomics 2024: add context and examples to the unstable book)
- rust-lang#137502 (Don't include global asm in
mir_keys
, fix error body synthesis) - rust-lang#137534 ([rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden))
- rust-lang#137565 (Try to point of macro expansion from resolver and method errors if it involves macro var)
- rust-lang#137637 (Check dyn flavor before registering upcast goal on wide pointer cast in MIR typeck)
- rust-lang#137643 (Add DWARF test case for non-C-like
repr128
enums) - rust-lang#137744 (Re-add
Clone
-derive onThir
) - rust-lang#137758 (fix usage of ty decl macro fragments in attributes)
- rust-lang#137764 (Ensure that negative auto impls are always applicable)
- rust-lang#137772 (Fix char count in
Display
forByteStr
) - rust-lang#137798 (ci: use ubuntu 24 on arm large runner)
- rust-lang#137802 (miri native-call support: all previously exposed provenance is accessible to the callee)
- rust-lang#137805 (adjust Layout debug printing to match the internal field name)
- rust-lang#137808 (Do not require that unsafe fields lack drop glue)
- rust-lang#137820 (Clarify why InhabitedPredicate::instantiate_opt exists)
- rust-lang#137825 (Provide more context on resolve error caused from incorrect RTN)
- rust-lang#137868 (Add minimal platform support documentation for powerpc-unknown-linux-gnuspe)
- rust-lang#137910 (Improve error message for
AsyncFn
trait failure for RPIT)
r? @ghost
@rustbot
modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request
…mpiler-errors
Rollup of 25 pull requests
Successful merges:
- rust-lang#135733 (Implement
&pin const self
and&pin mut self
sugars) - rust-lang#135895 (Document workings of successors more clearly)
- rust-lang#136922 (Pattern types: Avoid having to handle an Option for range ends in the type system or the HIR)
- rust-lang#137303 (Remove
MaybeForgetReturn
suggestion) - rust-lang#137327 (Undeprecate env::home_dir)
- rust-lang#137358 (Match Ergonomics 2024: add context and examples to the unstable book)
- rust-lang#137534 ([rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden))
- rust-lang#137565 (Try to point of macro expansion from resolver and method errors if it involves macro var)
- rust-lang#137637 (Check dyn flavor before registering upcast goal on wide pointer cast in MIR typeck)
- rust-lang#137643 (Add DWARF test case for non-C-like
repr128
enums) - rust-lang#137744 (Re-add
Clone
-derive onThir
) - rust-lang#137758 (fix usage of ty decl macro fragments in attributes)
- rust-lang#137764 (Ensure that negative auto impls are always applicable)
- rust-lang#137772 (Fix char count in
Display
forByteStr
) - rust-lang#137798 (ci: use ubuntu 24 on arm large runner)
- rust-lang#137802 (miri native-call support: all previously exposed provenance is accessible to the callee)
- rust-lang#137805 (adjust Layout debug printing to match the internal field name)
- rust-lang#137808 (Do not require that unsafe fields lack drop glue)
- rust-lang#137820 (Clarify why InhabitedPredicate::instantiate_opt exists)
- rust-lang#137825 (Provide more context on resolve error caused from incorrect RTN)
- rust-lang#137834 (rustc_fluent_macro: use CARGO_CRATE_NAME instead of CARGO_PKG_NAME)
- rust-lang#137868 (Add minimal platform support documentation for powerpc-unknown-linux-gnuspe)
- rust-lang#137910 (Improve error message for
AsyncFn
trait failure for RPIT) - rust-lang#137920 (interpret/provenance_map: consistently use range_is_empty)
- rust-lang#138038 (Update
compiler-builtins
to 0.1.151)
r? @ghost
@rustbot
modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request
…mpiler-errors
Rollup of 25 pull requests
Successful merges:
- rust-lang#135733 (Implement
&pin const self
and&pin mut self
sugars) - rust-lang#135895 (Document workings of successors more clearly)
- rust-lang#136922 (Pattern types: Avoid having to handle an Option for range ends in the type system or the HIR)
- rust-lang#137303 (Remove
MaybeForgetReturn
suggestion) - rust-lang#137327 (Undeprecate env::home_dir)
- rust-lang#137358 (Match Ergonomics 2024: add context and examples to the unstable book)
- rust-lang#137534 ([rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden))
- rust-lang#137565 (Try to point of macro expansion from resolver and method errors if it involves macro var)
- rust-lang#137637 (Check dyn flavor before registering upcast goal on wide pointer cast in MIR typeck)
- rust-lang#137643 (Add DWARF test case for non-C-like
repr128
enums) - rust-lang#137744 (Re-add
Clone
-derive onThir
) - rust-lang#137758 (fix usage of ty decl macro fragments in attributes)
- rust-lang#137764 (Ensure that negative auto impls are always applicable)
- rust-lang#137772 (Fix char count in
Display
forByteStr
) - rust-lang#137798 (ci: use ubuntu 24 on arm large runner)
- rust-lang#137802 (miri native-call support: all previously exposed provenance is accessible to the callee)
- rust-lang#137805 (adjust Layout debug printing to match the internal field name)
- rust-lang#137808 (Do not require that unsafe fields lack drop glue)
- rust-lang#137820 (Clarify why InhabitedPredicate::instantiate_opt exists)
- rust-lang#137825 (Provide more context on resolve error caused from incorrect RTN)
- rust-lang#137834 (rustc_fluent_macro: use CARGO_CRATE_NAME instead of CARGO_PKG_NAME)
- rust-lang#137868 (Add minimal platform support documentation for powerpc-unknown-linux-gnuspe)
- rust-lang#137910 (Improve error message for
AsyncFn
trait failure for RPIT) - rust-lang#137920 (interpret/provenance_map: consistently use range_is_empty)
- rust-lang#138038 (Update
compiler-builtins
to 0.1.151)
r? @ghost
@rustbot
modify labels: rollup
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request
Rollup merge of rust-lang#137910 - compiler-errors:async-fn-goal-error, r=oli-obk
Improve error message for AsyncFn
trait failure for RPIT
Use a WellFormedDerived
obligation cause to make sure we can turn an AsyncFnKindHelper
trait goal into its parent AsyncFn*
goal, then fix the logic for reporting AsyncFn*
kind mismatches.
Best reviewed without whitespace.
Fixes rust-lang#137905
r? oli-obk
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request
…mpiler-errors
Rollup of 25 pull requests
Successful merges:
- rust-lang#135733 (Implement
&pin const self
and&pin mut self
sugars) - rust-lang#135895 (Document workings of successors more clearly)
- rust-lang#136922 (Pattern types: Avoid having to handle an Option for range ends in the type system or the HIR)
- rust-lang#137303 (Remove
MaybeForgetReturn
suggestion) - rust-lang#137327 (Undeprecate env::home_dir)
- rust-lang#137358 (Match Ergonomics 2024: add context and examples to the unstable book)
- rust-lang#137534 ([rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden))
- rust-lang#137565 (Try to point of macro expansion from resolver and method errors if it involves macro var)
- rust-lang#137637 (Check dyn flavor before registering upcast goal on wide pointer cast in MIR typeck)
- rust-lang#137643 (Add DWARF test case for non-C-like
repr128
enums) - rust-lang#137744 (Re-add
Clone
-derive onThir
) - rust-lang#137758 (fix usage of ty decl macro fragments in attributes)
- rust-lang#137764 (Ensure that negative auto impls are always applicable)
- rust-lang#137772 (Fix char count in
Display
forByteStr
) - rust-lang#137798 (ci: use ubuntu 24 on arm large runner)
- rust-lang#137802 (miri native-call support: all previously exposed provenance is accessible to the callee)
- rust-lang#137805 (adjust Layout debug printing to match the internal field name)
- rust-lang#137808 (Do not require that unsafe fields lack drop glue)
- rust-lang#137820 (Clarify why InhabitedPredicate::instantiate_opt exists)
- rust-lang#137825 (Provide more context on resolve error caused from incorrect RTN)
- rust-lang#137834 (rustc_fluent_macro: use CARGO_CRATE_NAME instead of CARGO_PKG_NAME)
- rust-lang#137868 (Add minimal platform support documentation for powerpc-unknown-linux-gnuspe)
- rust-lang#137910 (Improve error message for
AsyncFn
trait failure for RPIT) - rust-lang#137920 (interpret/provenance_map: consistently use range_is_empty)
- rust-lang#138038 (Update
compiler-builtins
to 0.1.151)
r? @ghost
@rustbot
modify labels: rollup
Labels
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Relevant to the compiler team, which will review and decide on the PR/issue.