Вопросы по теме 'lifetime'

Проблема с привязкой к признаком более высокого ранга и продолжительностью замыкания в штучной упаковке
Я пытаюсь написать функцию, возвращающую закрытие в штучной упаковке, которая может работать со ссылками на типы с любым временем жизни. При написании конкретного экземпляра все работает нормально. Но при написании общей версии я сталкиваюсь с...
485 просмотров
schedule 20.11.2021

От производного класса memcpy к базовому классу, почему до сих пор вызывается функция базового класса
Я читаю Изнутри объектной модели C ++ . В разделе 1.3 Итак, почему это так, учитывая Bear b; ZooAnimal za = b; // ZooAnimal::rotate() invoked za.rotate(); вызываемый экземпляр rotate () является экземпляром ZooAnimal, а не...
611 просмотров

Вращение двоичного дерева влево в Rust не может пережить оригинал
Я пытаюсь реализовать самобалансирующееся двоичное дерево поиска и написал функцию для замены дерева его левым вращением: struct BST<'a> { l: Option<&'a BST<'a>>, r: Option<&'a BST<'a>> }...
194 просмотров

Значение не живет достаточно долго, когда помещено в структуру
Я пытаюсь работать с LLVM в Rust, используя этот ящик . Я пытаюсь создать структуру генератора кода для хранения контекста, модуля и построителя для меня, но когда я пытаюсь скомпилировать, я получаю сообщение об ошибке с надписью c does not live...
662 просмотров
schedule 18.09.2021

Как правильно определить время жизни в закрытии
impl Rate for Vec<VolumeRanged> { fn costs<'a, I>(&'a self, issues: &I, period: u32) -> Box<'a + Iterator<Item = f32>> where I: IntoIterator<Item=f32>, I::IntoIter: 'a { fn...
129 просмотров
schedule 04.11.2021

Почему это & ​​время жизни отличается от & mut?
Я создаю пользовательскую структуру данных в Rust и пытаюсь реализовать для нее итераторы. Следуя примеру встроенных коллекций ( LinkedList , Vec и т. Д.), Я создал структуру IntoIter , которая выполняет итерацию по принадлежащей коллекции,...
58 просмотров

Почему я не могу вызвать метод с временным значением?
Я не могу вызвать Foo::new(words).split_first() в следующем коде fn main() { let words = "Sometimes think, the greatest sorrow than older"; /* let foo = Foo::new(words); let first = foo.split_first(); */ let first =...
1000 просмотров
schedule 04.11.2021

Почему я не могу преобразовать эту хвостовую рекурсивную функцию в итеративную в Rust?
Я пишу функцию, которая удаляет последний узел из односвязного списка: #[derive(PartialEq, Eq, Debug)] struct Node<T> { value: T, next: Option<Box<Self>>, } Вот моя рекурсивная версия: fn...
131 просмотров
schedule 17.10.2021

Передача переменных в функцию и время жизни
Я хочу передать HashMap и элемент - Foo моей функции . Я не понимаю время жизни переменных. Пожалуйста помоги. Результат: ошибка [ E0623 ]: несоответствие времени жизни use std::collections::HashMap; #[derive(Debug)] struct...
75 просмотров
schedule 04.10.2021

Понимание времени жизни ссылки в Rust
Я новый пользователь Rust и читаю книгу Полное справочное руководство по программированию на Rust . В книге есть пример: fn main() { let mut a = String::from("testing"); let a_ref = &mut a; a_ref.push('!'); println!("{}",...
47 просмотров
schedule 24.10.2021

Завершение времени жизни объекта, используемого в другом потоке
Что стандарт может сказать о приведенном ниже коде? #include <iostream> #include <chrono> #include <thread> int main() { static_assert(sizeof(int) == sizeof(float)); using namespace std::chrono_literals; auto pi =...
128 просмотров

Как указать временное время жизни при указании границ трейта?
Я хотел бы объявить структуру, которая обертывает общий тип T следующим образом: use std::ops::Add; struct MyStruct<T> where T: Add<&T, Output=T> { t: T } Это не работает с: error[E0637]: `&` without an explicit...
38 просмотров
schedule 26.11.2021

Пожизненные проблемы с FuturesUnordered
Я пытаюсь сохранить эти Readable экземпляры в структуре Coordinator и использовать метод schedule , который выбирает один из readables и помещает его в экземпляр FuturesUnordered (также внутри Coordinator ), который будет извлечен позже....
126 просмотров
schedule 04.11.2021

Требовать универсальный тип реализует копию или клонировать | Вектор дженериков из фиксированного массива дженериков
Я пытаюсь реализовать в Rust настраиваемую структуру данных, которая ведет себя как набор в математике (поддерживает объединение, пересечение, несвязанное сравнение и т. Д.). Я хочу, чтобы конструктор (связанная функция new) взял фрагмент общего типа...
41 просмотров
schedule 12.09.2021

Как написать функцию с ограничениями времени жизни для полей?
В приведенном ниже примере у меня есть ограничение времени жизни для члена one . Первый вызов set_one работает, а второй - нет: struct One { name: String, } struct Two<'a> { one: Option<&'a One>, } fn...
96 просмотров
schedule 10.10.2021

явное время жизни требуется в типе `test` при создании замыкания с помощью gtk-rs
Вот пример проекта: use gtk::prelude::*; use gtk::{Application, ApplicationWindow}; fn main() { let app = Application::builder() .application_id("org.example.HelloWorld") .build(); app.connect_activate(|app| {...
55 просмотров
schedule 05.09.2021

Каким должно быть время жизни сеанса NHibernate?
Я новичок в NHibernate и заметил некоторые проблемы при преждевременном закрытии сессий. Я временно решил эту проблему, повторно используя сеансы вместо того, чтобы открывать сеанс для каждой транзакции. Однако у меня сложилось впечатление, что...
9186 просмотров
schedule 21.02.2022

Не удалось выполнить закрытие, возвращенное из метода, захватывающего переменную-член
Я пытаюсь реализовать метод для структуры, которая возвращает закрытие move , захватывающее один из ее членов. Обоснование состоит в том, что этот член Copy , поэтому замыкание может его скопировать и не должно быть привязано к времени жизни...
56 просмотров

Почему не сбрасывается этот MutexGuard?
В главе 20 The Rust Book приведен пример реализации пул потоков построен. Задания передаются рабочим через канал с одним производителем и несколькими потребителями: у каждого рабочего есть Arc<Mutex<Receiver>> для выбора заданий из...
393 просмотров
schedule 22.02.2022

Определение срока службы для справки из потребляемой стоимости
У меня есть код, который в упрощенном виде выглядит так: enum A<'a> { AConst(&'a [u8]) } trait FromA { fn from_a(A) -> Self; } impl FromA for &[u8] { fn from_a(a: A) -> &[u8] { match a {...
94 просмотров
schedule 06.03.2022