error-chain icon indicating copy to clipboard operation
error-chain copied to clipboard

Incomprehensible error message when adding error without arguments

Open eira-fransham opened this issue 7 years ago • 0 comments
trafficstars

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.

eira-fransham avatar Jun 19 '18 11:06 eira-fransham