String Literal Slice 与 String 引用一起使用是否有效?
Does String Literal Slice Usage with String references is Valid?
我有以下代码块,它按预期工作没有问题:
fn literal_taker(literals_slice: &[&str]){
println!("{:?}",literals_slice);
}
fn string_taker(string_value: String){
literal_taker(&[&string_value]);
}
fn main() {
let string_value = String::from("Hello");
string_taker(string_value);
}
在这里,我将 String
的引用作为一个切片传递,它正在编译,没有错误,也没有出现断断续续的问题。
但问题是,它在 Clion Rust 插件中显示为警告:
这是插件的错误还是我在 Rust 中做了一些不好的做法?
CLion Rust Plugin Version: 0.2.0.2106-182
正如 playground 清楚地展示的那样,代码确实按照编写的方式编译。因此它是 IDEA Rust 插件中的一个错误。
与大多数其他使用 Rust Language Server 的 Rust 插件不同,它使用来自编译器的代码,因此通常提供与编译器将执行的一致的诊断,IntelliJ IDEA 有自己的验证器,这可能会出错.
我有以下代码块,它按预期工作没有问题:
fn literal_taker(literals_slice: &[&str]){
println!("{:?}",literals_slice);
}
fn string_taker(string_value: String){
literal_taker(&[&string_value]);
}
fn main() {
let string_value = String::from("Hello");
string_taker(string_value);
}
在这里,我将 String
的引用作为一个切片传递,它正在编译,没有错误,也没有出现断断续续的问题。
但问题是,它在 Clion Rust 插件中显示为警告:
这是插件的错误还是我在 Rust 中做了一些不好的做法?
CLion Rust Plugin Version: 0.2.0.2106-182
正如 playground 清楚地展示的那样,代码确实按照编写的方式编译。因此它是 IDEA Rust 插件中的一个错误。
与大多数其他使用 Rust Language Server 的 Rust 插件不同,它使用来自编译器的代码,因此通常提供与编译器将执行的一致的诊断,IntelliJ IDEA 有自己的验证器,这可能会出错.