Skip to content

Improving an error message: "cannot bind by-move into a pattern guard" #684

Closed
@steveklabnik

Description

@steveklabnik

Issue by catamorphism
Saturday Jan 26, 2013 at 20:41 GMT

For earlier discussion, see rust-lang/rust#4649

This issue was labelled with: A-diagnostics, A-windows, B-RFC, I-papercut in the Rust repository


Based on an IRC conversation just now, I can think of two ways to improve this error message:

  1. Because pattern guards use the "if" keyword, someone may have written one by accident. Then, if they see this error message, they're going to ask "what's a pattern guard"? The error could explain this (it's a little hard to figure out right now since the entire pattern gets underlined, not the guard).
  2. Probably more importantly, the error should suggest what to do to fix it.

The error in question is in rustc::middle::check_match.

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-compilerRelevant to the compiler team, which will review and decide on the RFC.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions