Comments (3)
For reference, here's the error message for mismatched impl Trait
s (playground). Perhaps borrowing from this phrasing could be helpful here?
= note: expected opaque type `impl BorkBork` (`Cat`)
found opaque type `impl BorkBork` (`Dog`)
= note: distinct uses of `impl Trait` result in different opaque types
from rust.
This seems like a good suggestion. I'd suggest tweaking the wording a bit, since I don't know that the implications of async blocks having unique types are immediately obvious. Maybe something like this?
= note: the futures produced by async blocks each have unique types, so every async
block has a different type even if they have the same output type.
from rust.
@rustbot labels +AsyncAwait-Triaged
We discussed this in our async call and agreed that some improvement along these lines would be good. We could wordsmith it in the PR of course.
(It'd be interesting too to add such diagnostics for closures and other similar cases.)
from rust.
Related Issues (20)
- tidy error: rustc-perf workspace doesn't have a Cargo.lock
- inherent method selection uses subtyping even when using paths
- "./x.py run miri --stage 1" no longer works HOT 5
- Bootstrap rustc wrapper verbosity not tracked
- Mutex isn't guaranteed to have atomic acquire/release semantics HOT 13
- `unnameable_types` lint emits incorrect visibility syntax HOT 1
- Suggest adding `{ .. }` on accidental usage of unit variant pattern for a struct variant HOT 3
- Arity errors suggest incorrect fix when there are name errors
- Doctest doesn't print valid assert file line and column location link HOT 10
- PowerPC test failures due to "similarly named associated type" HOT 3
- mir-opt tests fail on big endian HOT 4
- run-make: audit `ignore-cross-compile` rmake.rs tests HOT 3
- ICE: `overflow computing relative variant idx` in `rustc_const_eval/src/interpret/discriminant.rs` HOT 1
- ICE: `assertion failed: !obligations.has_infer()` in `rustc_hir_analysis/src/impl_wf_check/min_specialization.rs` with feature `min_specialization` HOT 3
- ICE: `unsize_into: invalid conversion` in `rustc_const_eval/src/interpret/cast.rs` HOT 1
- ICE: `write_immediate_to_mplace: invalid ScalarPair layout: TyAndLayout` with feature `adt_const_params` HOT 1
- New lld linker is broken HOT 2
- dead_code lint wrongly warns about "never used" functions that are, in fact used HOT 5
- `as_mut_vec_for_path_buf` in windows breaks UTF-8 `is_known_utf8` assumption HOT 1
- Infinite recursion in type constraint resolution HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust.