-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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 and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tweak E0308 on opaque types #63796
Tweak E0308 on opaque types #63796
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks OK aside from the FIXME -- some tests would be nice tho :)
r=me rollup with a test that exercises the behaviors we're adding (e.g. from the issue) and with or without changing the message per #63796 (comment). |
9e54fcd
to
02a80f7
Compare
@bors r=Centril rollup |
📌 Commit 02a80f79c160435a19d7f769c710d183329efdf0 has been approved by |
02a80f7
to
4889e2e
Compare
@bors r=Centril rollup cleaned up an unnecessary "missing main" error |
📌 Commit 4889e2e1ab72d2038d8413a39bef664cd0387e2d has been approved by |
This comment has been minimized.
This comment has been minimized.
4889e2e
to
a710c61
Compare
@bors r=Centril |
📌 Commit a710c61 has been approved by |
Tweak E0308 on opaque types ``` error[E0308]: if and else have incompatible types --> file.rs:21:9 | 18 | / if true { 19 | | thing_one() | | ----------- expected because of this 20 | | } else { 21 | | thing_two() | | ^^^^^^^^^^^ expected opaque type, found a different opaque type 22 | | }.await | |_____- if and else have incompatible types | = note: expected type `impl std::future::Future` (opaque type) found type `impl std::future::Future` (opaque type) = note: distinct uses of `impl Trait` result in different opaque types = help: if both futures resolve to the same type, consider `await`ing on both of them ``` r? @Centril CC rust-lang#63167
Rollup of 7 pull requests Successful merges: - #63624 (When declaring a declarative macro in an item it's only accessible inside it) - #63737 (Fix naming misspelling) - #63767 (Use more optimal Ord implementation for integers) - #63782 (Fix confusion in theme picker functions) - #63788 (Add amanjeev to rustc-guide toolstate) - #63796 (Tweak E0308 on opaque types) - #63805 (Apply few Clippy suggestions) Failed merges: r? @ghost
Rollup of 7 pull requests Successful merges: - #63624 (When declaring a declarative macro in an item it's only accessible inside it) - #63737 (Fix naming misspelling) - #63767 (Use more optimal Ord implementation for integers) - #63782 (Fix confusion in theme picker functions) - #63788 (Add amanjeev to rustc-guide toolstate) - #63796 (Tweak E0308 on opaque types) - #63805 (Apply few Clippy suggestions) Failed merges: r? @ghost
Could rustc provide that suggestion iff both futures resolve to the same type? Sounds challenging to me, but I know nothing about rustc diagnostics! 😬 |
@uberjay it could but first we need to set some extra machinery around associated types to be able to do that. |
r? @Centril
CC #63167