Skip to content

Bad diagnostics for GATs in trait paths #81801

Closed

Description

The diagnostics introduced by #77524 are wrong in some cases, e.g. in gat-trait-path-missing-lifetime we get the following stderr:

error[E0107]: missing generics for associated type `X::Y`
 --> src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs:5:8
  |
5 |   type Y<'a>;
  |        ^ expected 1 lifetime argument
  |
note: associated type defined here, with 1 lifetime parameter: `'a`
 --> src/test/ui/generic-associated-types/gat-trait-path-missing-lifetime.rs:5:8
  |
5 |   type Y<'a>;
  |        ^ --
help: use angle brackets to add missing lifetime argument
  |
5 |   type Y<'a><'a>;
  |         ^^^^

error: aborting due to previous error; 1 warning emitted

Originally posted by @b-naber in #79554 (comment)

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

Metadata

Assignees

No one assigned

    Labels

    A-associated-itemsArea: Associated items (types, constants & functions)A-diagnosticsArea: Messages for errors, warnings, and lintsA-suggestion-diagnosticsArea: Suggestions generated by the compiler applied by `cargo fix`D-incorrectDiagnostics: A diagnostic that is giving misleading or incorrect information.D-invalid-suggestionDiagnostics: A structured suggestion resulting in incorrect code.F-generic_associated_types`#![feature(generic_associated_types)]` a.k.a. GATsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.requires-nightlyThis issue requires a nightly compiler in some way.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions