Результаты поиска по запросу "borrow-checker"

1 ответ

 на тип закрытия, вы можете просто опустить его.

ель - создать функцию (в частности, заливку), которая будет работать независимо от базовой структуры данных. Я попытался сделать это, передав два замыкания: одно для запросов, которое заимствует некоторые данные, а другое для мутации, которое ...

1 ответ

, но это потребовало бы изменения внутренних типов методов способом, который мне не нравится :(

оложим, у меня есть несколько структур, как в следующем примере, и вnext() Метод, который мне нужно, чтобы получить следующее событие, используя предоставленный пользователем буфер, но если это событие является комментарием, а флаг игнорирования ...

1 ответ

@Boiethios Есть некоторые недостатки при хранении данных в статической памяти, особенно если они большие и не требуются для полной продолжительности жизни программы. Определенно бывают моменты, когда вам следует включить это поведение.

у этот код компилируется? fn get_iter() -> impl Iterator<Item = i32> { [1, 2, 3].iter().map(|&i| i) } fn main() { let _it = get_iter(); }[1, 2, 3] является локальной переменной иiter() одалживает это. Этот код не должен компилироваться, потому ...

ТОП публикаций

2 ответа

, Вытягивание присваивания из выражения соответствия - вот что удовлетворяет проверку заимствования здесь. Использовать ли локальную переменную или нет, в данном случае касается не только читабельности.

аюсь реализовать общую функциюjoin() это может работать на любом итераторе итераторов. У меня проблема с заемщиком вmatch выражение внутриnext() Реализация метода. Вот упрощенная версия моего кода: pub struct Join<I> where I: Iterator, I::Item: ...

2 ответа

Таким образом, черты должны быть в области, чтобы использовать их методы, но методы на границах черт могут использоваться, даже если черта не находится в области.

ве функции: fn foo<I>(iter: &mut I) where I: std::iter::Iterator<Item = u8>, { let x = iter.by_ref(); let y = x.take(2); } fn bar<I>(iter: &mut I) where I: std::io::Read, { let x = iter.by_ref(); let y = x.take(2); }В то время как первый ...

2 ответа

Спасибо! Это было очень полезное объяснение.

ел бы использоватьHashMap кэшировать дорогостоящие вычисления, зависящие от других записей на карте. Шаблон ввода обеспечивает только изменяемую ссылку на сопоставленное значение, но не на остальную частьHashMap, Буду очень признателен за отзыв о ...