Ошибки компилятора RustОшибка
E0502E0502 — Нельзя взять изменяемый заём: уже существует неизменяемый
Значение нельзя заимствовать изменяемо, пока активен неизменяемый заём.
rustcargo
Подробнее E0308Функция возвращает Result с неправильным типом Ok или Err.
Возвращаемый тип — Result<T, E>, но возвращаемое значение имеет другой тип T или E. Оператор ? может выполнять преобразование между несовместимыми типами ошибок.
Убедитесь, что типы Ok и Err совпадают с сигнатурой функции. Реализуйте From<ErrorType> для вашего типа ошибки, чтобы оператор ? мог выполнять преобразование. Используйте .map_err() для преобразования типов ошибок. Для удобной обработки ошибок используйте крейты anyhow или thiserror.
fn foo() -> Result<(), String> {
Ok(42) // expected ()
}E0502Значение нельзя заимствовать изменяемо, пока активен неизменяемый заём.
E0277Тип, не реализующий Send, используется в контексте, требующем потокобезопасности.
E0308Ожидаемый тип не совпадает с фактически предоставленным.
E0369Бинарный оператор используется с типами, которые его не поддерживают.
E0106Ссылке в сигнатуре функции или структуре не хватает параметра времени жизни.
E0425Используется идентификатор, не определённый в текущей области видимости.