Skip to content
This repository was archived by the owner on Aug 16, 2021. It is now read-only.
This repository was archived by the owner on Aug 16, 2021. It is now read-only.

Incomprehensible error message when adding error without arguments #248

@eira-fransham

Description

@eira-fransham

When attempting to add a new variant to an existing error_chain Error, I found the following problem. I wanted to add an error that has no fields, and so I added a new error that looked similar to the following:

error_chain! {
    errors {
        Foo() {}
    }
}

Note the addition of the OutOfMemory variant. This causes the following error:

error: no rules expected the token `=>`
 --> src/main.rs:4:1
  |
4 | / error_chain! {
5 | |     errors {
6 | |         Foo() {}
7 | |     }
8 | | }
  | |_^
  |
  = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

Of course, the => token isn't even in my invocation! The correct way to do this is the following:

error_chain! {
    errors {
        Foo {}
    }
}

In theory this should be simple to at least add a compilation error for, if not just simply allow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions