带字符串引用的字符串文字切片用法是否有效?

时间:2019-01-15 08:14:22

标签: string rust clion

我有以下代码块,它按预期工作,没有问题:

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插件中显示为警告:

enter image description here

是插件的错误还是我在Rust中做了一些不好的做法?

Playground

  

CLion Rust Plugin版本:0.2.0.2106-182

1 个答案:

答案 0 :(得分:2)

正如操场清楚地表明的那样,该代码确实按编写的方式进行编译。因此,这是IDEA Rust插件中的错误。

与使用Rust Language Server的大多数其他Rust插件不同,后者使用编译器中的代码,因此通常提供的诊断与编译器的功能一致,IntelliJ IDEA拥有自己的验证器,这可能会出错。 / p>