Skip to content

Incorrect imports suggestion for code inside tokio::main #86241

Closed

Description

@Cerber-Ursi

Given the following code:

#[tokio::main]
async fn main() {
    let _ = Duration::from_millis(97);
}

The current output is:

error[E0433]: failed to resolve: use of undeclared type `Duration`
 --> src/main.rs:3:13
  |
3 |     let _ = Duration::from_millis(97);
  |             ^^^^^^^^ not found in this scope
  |
help: consider importing one of these items
  |
2 | async use chrono::Duration;
  |       ^^^^^^^^^^^^^^^^^^^^^
2 | async use core::time::Duration;
  |       ^^^^^^^^^^^^^^^^^^^^^^^^^
2 | async use humantime::Duration;
  |       ^^^^^^^^^^^^^^^^^^^^^^^^
2 | async use instant::Duration;
  |       ^^^^^^^^^^^^^^^^^^^^^^
    and 5 other candidates

Note the async use bit, which is, obviously, invalid syntax.

Activity

  1. added
    A-diagnosticsArea: Messages for errors, warnings, and lints
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    on Jun 12, 2021
  2. ehuss commented on Jun 12, 2021

    @ehuss
    Contributor

    Thanks for the report!

    Even fixing the async part won't be sufficient because the #[tokio::main] attribute is in the way, too. There is more discussion at #85312 (comment) and #85427 as to why that doesn't work.

  3. pnkfelix commented on Nov 16, 2021

    @pnkfelix
    Contributor

    (This is probably fixed by proposed PR #90941.)

  4. Cerber-Ursi commented on Jun 5, 2022

    @Cerber-Ursi
    ContributorAuthor

    Just checked in playground - seems to be fixed for now, probably should be closed?

  5. ehuss commented on Jun 5, 2022

    @ehuss
    Contributor

    Yea, I'm going to close as resolved by #94584.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-diagnosticsArea: Messages for errors, warnings, and lintsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions