Skip to content
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

Fix unresolved type span inside async object #67392

Merged
merged 2 commits into from
Dec 21, 2019

Conversation

csmoe
Copy link
Member

@csmoe csmoe commented Dec 18, 2019

Closes #65180
r? @estebank
It's hard to create a minimal repro for that issue, decided to give up finding mcve.
cc previous take

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 18, 2019
= self.fcx.unresolved_type_vars(&ty) {
debug!("remained unresolved_type = {:?}, unresolved_type_span: {:?}",
unresolved_type, unresolved_type_span);
self.prev_unresolved_span = unresolved_type_span;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What would happen in there where a chain of more than two unresolved type vars?

@estebank
Copy link
Contributor

It looks reasonable, could you post the output from the original report?

Is it still the following?

error[E0698]: type inside `async fn` body must be known in this context
  --> src/lib.rs:15:13
   |
15 |             Ok(hyper::service::service_fn(move |req| {
   |             ^^ cannot infer type for `ME`
   |
note: the type is part of the `async fn` body because of this `await`
  --> src/lib.rs:24:5
   |
24 |     server.await
   |     ^^^^^^^^^^^^

error: aborting due to previous error

If so, we should have a follow up ticket to make the infered name being shown be the one from Ok, not from service_fn.

@csmoe
Copy link
Member Author

csmoe commented Dec 19, 2019

It looks reasonable, could you post the output from the original report?

Is it still the following?

error[E0698]: type inside `async fn` body must be known in this context
  --> src/lib.rs:15:13
   |
15 |             Ok(hyper::service::service_fn(move |req| {
   |             ^^ cannot infer type for `ME`
   |
note: the type is part of the `async fn` body because of this `await`
  --> src/lib.rs:24:5
   |
24 |     server.await
   |     ^^^^^^^^^^^^

error: aborting due to previous error

If so, we should have a follow up ticket to make the infered name being shown be the one from Ok, not from service_fn.

yes, still holds
image

@estebank
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented Dec 19, 2019

📌 Commit ff4f6a1 has been approved by estebank

@bors
Copy link
Contributor

bors commented Dec 19, 2019

🌲 The tree is currently closed for pull requests below priority 100, this pull request will be tested once the tree is reopened

@bors 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 Dec 19, 2019
Centril added a commit to Centril/rust that referenced this pull request Dec 19, 2019
Fix unresolved type span inside async object

Closes rust-lang#65180
r? @estebank
It's hard to create a minimal repro for that issue, [decided](https://rust-lang.zulipchat.com/#narrow/stream/187312-wg-async-foundations/topic/meeting.202019.2E12.2E17/near/183675659) to give up finding mcve.
cc [previous take](rust-lang#65668)
Centril added a commit to Centril/rust that referenced this pull request Dec 19, 2019
Rollup of 7 pull requests

Successful merges:

 - rust-lang#66670 (Normalize ident)
 - rust-lang#66755 (Remove a const-if-hack in RawVec)
 - rust-lang#67127 (Use structured suggestion for disambiguating method calls)
 - rust-lang#67281 (add string.insert benchmarks)
 - rust-lang#67328 (Remove now-redundant range check on u128 -> f32 casts)
 - rust-lang#67392 (Fix unresolved type span inside async object)
 - rust-lang#67421 (Fix internal documentation typo)

Failed merges:

r? @ghost
Centril added a commit to Centril/rust that referenced this pull request Dec 19, 2019
Rollup of 7 pull requests

Successful merges:

 - rust-lang#66670 (Normalize ident)
 - rust-lang#66755 (Remove a const-if-hack in RawVec)
 - rust-lang#67127 (Use structured suggestion for disambiguating method calls)
 - rust-lang#67281 (add string.insert benchmarks)
 - rust-lang#67328 (Remove now-redundant range check on u128 -> f32 casts)
 - rust-lang#67392 (Fix unresolved type span inside async object)
 - rust-lang#67421 (Fix internal documentation typo)

Failed merges:

r? @ghost
Mark-Simulacrum added a commit to Mark-Simulacrum/rust that referenced this pull request Dec 19, 2019
Rollup of 7 pull requests

Successful merges:

 - rust-lang#66670 (Normalize ident)
 - rust-lang#66755 (Remove a const-if-hack in RawVec)
 - rust-lang#67127 (Use structured suggestion for disambiguating method calls)
 - rust-lang#67281 (add string.insert benchmarks)
 - rust-lang#67328 (Remove now-redundant range check on u128 -> f32 casts)
 - rust-lang#67392 (Fix unresolved type span inside async object)
 - rust-lang#67421 (Fix internal documentation typo)

Failed merges:

r? @ghost
Centril added a commit to Centril/rust that referenced this pull request Dec 20, 2019
Fix unresolved type span inside async object

Closes rust-lang#65180
r? @estebank
It's hard to create a minimal repro for that issue, [decided](https://rust-lang.zulipchat.com/#narrow/stream/187312-wg-async-foundations/topic/meeting.202019.2E12.2E17/near/183675659) to give up finding mcve.
cc [previous take](rust-lang#65668)
Centril added a commit to Centril/rust that referenced this pull request Dec 20, 2019
Fix unresolved type span inside async object

Closes rust-lang#65180
r? @estebank
It's hard to create a minimal repro for that issue, [decided](https://rust-lang.zulipchat.com/#narrow/stream/187312-wg-async-foundations/topic/meeting.202019.2E12.2E17/near/183675659) to give up finding mcve.
cc [previous take](rust-lang#65668)
bors added a commit that referenced this pull request Dec 21, 2019
Rollup of 6 pull requests

Successful merges:

 - #67130 (Const prop should finish propagation into user defined variables)
 - #67163 (Split up ptr/mod.rs in libcore...)
 - #67314 (Don't suppress move errors for union fields)
 - #67392 (Fix unresolved type span inside async object)
 - #67404 (Separate region inference logic from error handling better)
 - #67428 (`is_binding_pat`: use explicit match & include or-pats in grammar)

Failed merges:

r? @ghost
@bors bors merged commit ff4f6a1 into rust-lang:master Dec 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Async-related type error messages defy expectations (in span location)
4 participants