这个非常简单的Rust 程序:
fn main() {
let c = "hello";
println!(c);
}
抛出以下编译时错误:
error: expected a literal
--> src/main.rs:3:14
|
3 | println!(c);
| ^
在之前版本的Rust中,错误显示:
error: format argument must be a string literal.
println!(c);
^
将程序替换为:
fn main() {
println!("Hello");
}
很好.
我不清楚这个错误的含义,谷歌搜索也没有真正阐明这一点.为什么将c
传递给println!
宏会导致编译时错误?这似乎是很不寻常的行为.