226edf64fa
Attribute values must be literals. The error you get when that doesn't hold is pretty bad, e.g.: ``` unexpected expression: 1 + 1 ``` You also get the same error if the attribute value is a literal, but an invalid literal, e.g.: ``` unexpected expression: "foo"suffix ``` This commit does two things. - Changes the error message to "attribute value must be a literal", which gives a better idea of what the problem is and how to fix it. It also no longer prints the invalid expression, because the carets below highlight it anyway. - Separates the "not a literal" case from the "invalid literal" case. Which means invalid literals now get the specific error at the literal level, rather than at the attribute level.
11 lines
280 B
Plaintext
11 lines
280 B
Plaintext
error: invalid suffix `z` for number literal
|
|
--> $DIR/issue-104620.rs:3:16
|
|
|
|
|
LL | #![rustc_dummy=5z]
|
|
| ^^ invalid suffix `z`
|
|
|
|
|
= help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)
|
|
|
|
error: aborting due to 1 previous error
|
|
|