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 中做了一些不好的做法?

Playground

CLion Rust Plugin Version: 0.2.0.2106-182

正如 playground 清楚地展示的那样,代码确实按照编写的方式编译。因此它是 IDEA Rust 插件中的一个错误。

与大多数其他使用 Rust Language Server 的 Rust 插件不同,它使用来自编译器的代码,因此通常提供与编译器将执行的一致的诊断,IntelliJ IDEA 有自己的验证器,这可能会出错.