Допустимо ли использование строкового литерального среза со ссылками на строки? - PullRequest
0 голосов
/ 15 января 2019

У меня есть следующий блок кода, и он работает без проблем:

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?

Детская площадка

Плагин CLion Rust Версия: 0.2.0.2106-182

1 Ответ

0 голосов
/ 15 января 2019

Код компилируется так, как написано, что наглядно демонстрирует игровая площадка. Поэтому это ошибка в IDEA Rust Plugin.

В отличие от большинства других плагинов Rust, которые используют Rust Language Server , который использует код из компилятора и, следовательно, обычно обеспечивает диагностику в соответствии с тем, что будет делать компилятор, IntelliJ IDEA имеет свой собственный валидатор, который может получить все не так.

...