Skip to content

When field isn't found, see if any of the available fields has it #81220

Closed
@estebank

Description

@estebank
Contributor

I just encountered this output:

error[E0609]: no field `span` on type `Label`
   --> compiler/rustc_passes/src/loops.rs:127:43
    |
127 | ...                   label.span,
    |                             ^^^^ unknown field
    |
    = note: available fields are: `ident`

We currently mention available fields when the field used isn't found. It would be nice if we peeked at the types for the available fields to see if any of them has any fields (including through deref) of the name we originally wanted. In this case, I would love to see the following output:

error[E0609]: no field `span` on type `Label`
   --> compiler/rustc_passes/src/loops.rs:127:43
    |
127 | ...                   label.span,
    |                             ^^^^ unknown field
    |
help: the field `span` is available on field `ident` of type `Ident`:
    |
127 | ...                   label.ident.span,
    |                             ^^^^^^
    |

Activity

added
A-diagnosticsArea: Messages for errors, warnings, and lints
T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
A-suggestion-diagnosticsArea: Suggestions generated by the compiler applied by `cargo fix`
D-papercutDiagnostics: An error or lint that needs small tweaks.
on Jan 20, 2021
hkmatsumoto

hkmatsumoto commented on Jan 28, 2021

@hkmatsumoto
Member

I'll work on this.
@rustbot claim

b-naber

b-naber commented on Jan 28, 2021

@b-naber
Contributor

@matsujika I was just about to open a PR when I saw that you claimed the issue. It's my fault for not claiming this issue myself obviously, so if you've already been investing time into this the issue its still yours, but if you haven't can I open a PR for this?

hkmatsumoto

hkmatsumoto commented on Jan 28, 2021

@hkmatsumoto
Member

@b-naber I've done nothing yet as I planned to work on this tomorrow morning, so this is yours :)

hkmatsumoto

hkmatsumoto commented on Jan 28, 2021

@hkmatsumoto
Member

@rustbot release-assignment

estebank

estebank commented on Jan 28, 2021

@estebank
ContributorAuthor

@matsujika if you're still interested in contributing, it seems to me that #81222 might be similar in scope and section of the codebase you could work in.

b-naber

b-naber commented on Jan 28, 2021

@b-naber
Contributor

@matsujika Thank you.

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 lintsA-suggestion-diagnosticsArea: Suggestions generated by the compiler applied by `cargo fix`D-papercutDiagnostics: An error or lint that needs small tweaks.T-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

      Participants

      @estebank@hkmatsumoto@b-naber

      Issue actions

        When field isn't found, see if any of the available fields has it · Issue #81220 · rust-lang/rust