Closed
Description
Given the following code: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=bc51fb79544b1be00dd8a4285103ff07
const fn foo(input: &'static str) {
match input {
"a" => (),
_ => (),
}
}
The current output is:
error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants
--> src/lib.rs:3:9
|
3 | "a" => (),
| ^^^
I feel like it's pretty self-explanatory, but this is obviously a very confusing error. A match arm for a string literal is not a "call" by any usual meaning of the word. In fact, I have no idea what actual objection rustc
has to this code, if any.
As far as I can tell, this error is the same on all current versions of the compiler (stable, beta, nightly) per the submission of this issue.