Вопросы по теме 'lifetime'
Проблема с привязкой к признаком более высокого ранга и продолжительностью замыкания в штучной упаковке
Я пытаюсь написать функцию, возвращающую закрытие в штучной упаковке, которая может работать со ссылками на типы с любым временем жизни. При написании конкретного экземпляра все работает нормально. Но при написании общей версии я сталкиваюсь с...
485 просмотров
schedule
20.11.2021
От производного класса memcpy к базовому классу, почему до сих пор вызывается функция базового класса
Я читаю Изнутри объектной модели C ++ . В разделе 1.3
Итак, почему это так, учитывая
Bear b;
ZooAnimal za = b;
// ZooAnimal::rotate() invoked
za.rotate();
вызываемый экземпляр rotate () является экземпляром ZooAnimal, а не...
611 просмотров
schedule
09.09.2021
Вращение двоичного дерева влево в Rust не может пережить оригинал
Я пытаюсь реализовать самобалансирующееся двоичное дерево поиска и написал функцию для замены дерева его левым вращением:
struct BST<'a> {
l: Option<&'a BST<'a>>,
r: Option<&'a BST<'a>>
}...
194 просмотров
schedule
23.10.2021
Значение не живет достаточно долго, когда помещено в структуру
Я пытаюсь работать с 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 просмотров
schedule
23.10.2021
Почему я не могу вызвать метод с временным значением?
Я не могу вызвать 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 просмотров
schedule
29.09.2021
Как указать временное время жизни при указании границ трейта?
Я хотел бы объявить структуру, которая обертывает общий тип 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 просмотров
schedule
24.02.2022
Почему не сбрасывается этот 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