我有以下代码块,它按预期工作,没有问题:
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版本:0.2.0.2106-182
答案 0 :(得分:2)
正如操场清楚地表明的那样,该代码确实按编写的方式进行编译。因此,这是IDEA Rust插件中的错误。
与使用Rust Language Server的大多数其他Rust插件不同,后者使用编译器中的代码,因此通常提供的诊断与编译器的功能一致,IntelliJ IDEA拥有自己的验证器,这可能会出错。 / p>