Вопросы по теме 'borrow-checker'
Заимствованная локальная переменная во вложенной лямбде
У меня есть список файлов CSV, и я хочу создать итератор по строкам всех файлов. Таким образом, я использую flat_map() :
extern crate csv;
extern crate rustc_serialize;
use std::path::Path;
use std::fs;
// simple struct used by the csv crate to...
577 просмотров
schedule
28.04.2024
Возврат ссылки из HashMap или Vec приводит к тому, что заимствование будет длиться за пределами области, в которой он находится?
У меня постоянная ошибка компиляции, когда Rust жалуется, что у меня есть неизменяемое заимствование, пока я пытаюсь заимствовать изменчиво, но неизменяемое заимствование происходит из другой области видимости, и я ничего не передаю из этого.
У...
3874 просмотров
schedule
10.06.2024
Попытка вернуть ссылку из RwLock, заимствованное значение не живет достаточно долго Ошибка
Недавно я работал над своим первым проектом на Rust, но наткнулся на препятствие. Я использую HashMap отображение String s на AtomicUsize целые числа. HashMap защищен RwLock для одновременного доступа. Я хотел бы иметь возможность...
969 просмотров
schedule
05.07.2022
Как мне создать итератор, который аннулирует предыдущий результат каждый раз, когда вызывается «следующий»?
Я использую FFI для доступа к данным из других источников. Мой FFI API возвращает указатели на данные, выделенные и принадлежащие C API. У меня нет возможности, чтобы реализация C использовала память, выделенную Rust.
При реализации моего API я...
21 просмотров
schedule
07.05.2024
Вызов метода &mut self после доступа к свойству в Rust
Мне нужно сопоставить необязательное значение, которое находится в self , из метода, и на основе этого совпадения вызвать метод в self , который принимает self изменяемым образом. Я пытаюсь сделать довольно высокопроизводительную игру, поэтому,...
1435 просмотров
schedule
25.06.2022
Как я могу десериализовать дерево ссылок в Rust?
Вчера я начал использовать Rust для Advent of Code в этом году. Задача 7 предлагает вам проанализировать древовидную структуру из текстового файла. Входы выглядят так:
root -> child1, child2
child1 -> child3
child2
child3
Этот формат...
206 просмотров
schedule
25.05.2024
не может заимствовать `graph` как неизменяемый, потому что он также заимствован как изменчивый. Как я могу сообщить Rust, что я закончил с этим изменяемым заимствованием?
Я пытаюсь создать графическую структуру в Rust. Моя первая реализация скомпилирована просто отлично:
fn main() {
let mut graph: Graph = Graph::new(); // Contains a vector of all nodes added to the graph. The graph owns the nodes.
//...
427 просмотров
schedule
07.07.2022
Зачем программе проверки заимствований нужны метки времени жизни для вывода, когда входные данные очень четкие?
Почему программа проверки заимствований не понимает, сколько времени жизни указано в приведенном ниже коде
fn main() {
let ss = "abc"; // lets say 'a scope
let tt = "def"; // lets say 'b scope
let result = func(ss, tt);
}
fn...
117 просмотров
schedule
26.02.2024
Переместите одну запись, которая соответствует предикату, из HashMap, если ключ не может быть клонирован.
Я пишу функцию, которая работает с HashMap , и в разных точках функции я хочу проверить, соответствует ли какое-либо значение на карте условию, и если какое-либо из них возвращает ключ только для одной из записей, которые удовлетворяют условию ....
176 просмотров
schedule
26.06.2022
Метод вызова Rust по ссылке
Поскольку я новичок в ржавчине, это проблема, по которой я нашел много ресурсов, но ни одна из них не могла мне помочь. Я хочу иметь ссылку на структуру и вызывать ее метод.
Свернутый пример:
// A rather large struct I would want to live in...
497 просмотров
schedule
13.05.2024
Как обновить значение в коллекции в структуре на основе другого значения в той же коллекции?
В вопросе говорится «коллекция в структуре», но я не уверен, действительно ли актуальна часть «в структуре». Возможно, я недостаточно хорошо понимаю проблему, чтобы правильно задать вопрос. В любом случае, я пытаюсь сделать следующее:
Создайте...
55 просмотров
schedule
09.10.2023
Почему появляется заимствованная ошибка, если я использую неизменяемую переменную в разных местах моего кода?
Я изучаю ржавчину, и мне трудно понять, почему следующий код не компилируется с какой-либо ошибкой [E0505]: невозможно выйти из req , потому что это заимствованная ошибка в req.into_body (). Если я удалю println! или переместите его перед матчем,...
39 просмотров
schedule
19.04.2024