Вопросы по теме '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 просмотров

Зачем программе проверки заимствований нужны метки времени жизни для вывода, когда входные данные очень четкие?
Почему программа проверки заимствований не понимает, сколько времени жизни указано в приведенном ниже коде 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