Описание тега lifetime-scoping

1 ответ

В штучной упаковке Fn требуется статический срок службы только при тестировании?

С помощью rustc 1.10.0Я пытаюсь написать некоторый код, который обходит закрытие в штучной упаковке - конечная цель состоит в том, чтобы процедурно генерировать анимацию фракталов. Прямо сейчас у меня есть некоторые функции подписи, как это: pub fn …
01 авг '16 в 17:07
2 ответа

Время жизни Rust для структурных ссылок

Я только начал с Rust, но не могу понять, сколько жизней я могу решить, самостоятельно решив следующую проблему: Этот тестовый проект о симуляции битов, позволяющих отслеживать его с помощью различных побитовых операций, например let newbit = oldbit…
27 дек '17 в 12:59
1 ответ

Время жизни переменной в статическом списке

Этот код добавляет новый объект в статический список внутри функции. список передается по ссылке на функцию. что за время жизни нового объекта в списке? Пример кода: #include <list> #include <string> #include <iostream> using names…
0 ответов

Динамическая загрузка модулей с помощью SimpleInjector

У меня есть приложение WPF, которое использует Caliburn.Micro и обеспечивает рамку для различных типов оболочек. Все эти оболочки реализуют интерфейс IShell, В качестве примера давайте возьмем главное окно, которое действует как хост, и tabcontrol д…
1 ответ

Ошибка "не живет достаточно долго" при вызове `root` из rust-xcb

Я пытаюсь использовать поверхность Каира в окне, созданном xcb. У меня есть пример C, а также привязки Rust XCB и Cairo. Я почти закончил, но эта ошибка остается для меня загадкой. Мой код: fn find_visual<'a>(conn: &'a xcb::Connection, vis…
23 май '16 в 09:15
0 ответов

Доступ к различным полям одной и той же структуры одновременно и изменчиво

Я пытаюсь написать карточную игру на Rust, но столкнулся с проблемой проверки заимствований. Мой основной struct это Gameкоторый выглядит так struct Game { players: HashMap<String, Player>, deck: Vec<Card>, } Игрок что-то вроде struct Pl…
29 авг '17 в 09:06
5 ответов

Переменная жизнь

Что происходит с переменной, когда строка выполнения выходит за пределы блока кода? Например: 1 public void myMethod() 2 { 3 int number; 4 number = 5; 5 } Итак, мы объявляем и устанавливаем переменную. Когда он выходит за пределы блока кода (строка …
30 июн '15 в 11:38
2 ответа

Пожизненные ошибки с простой структурой ресурсов Allocator

Я пытаюсь сделать простой распределитель, который выделяет и освобождает буферы из фиксированного пула буферов. struct AllocatedMemory<'a> { mem: &'a mut [u8], next: Option<&'a mut AllocatedMemory<'a>>, } struct Alloc<'a…
1 ответ

Тип параметра `T` может не сохраняться достаточно долго при записи двоичного дерева поиска

Я пытаюсь написать двоичное дерево поиска в Rust, но я не понимаю, что происходит: enum BST<'a, T: Ord> { Leaf, BinTree { value: T, left: &'a mut BST<'a, T>, right: &'a mut BST<'a, T> } } impl<'a, T: Ord> BST<'a, T…
1 ответ

Передача данных в зависимости, зарегистрированные в жизненном цикле контекста выполнения в Simple Injector

Есть ли способ передать данные зависимостям, зарегистрированным в Scope Context Scope или Lifetime Scope в Simple Injector? Одна из моих зависимостей требует фрагмента данных для построения в цепочке зависимостей. Во время запросов HTTP и WCF эти да…
0 ответов

Автоактивная синглтонная инициализация

У меня есть интерфейс и класс, как это: public sealed class UserService : IUserService { private readonly ILifetimeScope container; public UserService() { this.container = this.ConfigureBuilder(new ContainerBuilder()).Build(); } private ContainerBui…
17 июл '17 в 18:19
1 ответ

Простое Injector асинхронное определение времени жизни и исключение безопасности

У меня есть AsyncCommandHandlerDecorator<TCommand> а также LifetimeScopedCommandHandlerDecorator<TCommand> как показано ниже: public class AsyncCommandHandlerDecorator<TCommand> : ICommandHandler<TCommand> where TCommand : IC…
1 ответ

Когда мне нужно указать явное время жизни в Rust?

Если у меня есть две функции // implicit fn foo(x: &i32) { } // explicit fn bar<'a>(x: &'a i32) { } Когда бы foo вернуть ошибку и bar быть правильным заголовком функции? Я не понимаю, почему я бы явно объявил всю жизнь: 'A читает' врем…
26 июн '15 в 23:55
3 ответа

Экземпляр на одну и ту же область действия с продолжительностью по умолчанию?

Я хотел бы иметь экземпляр для каждой соответствующей области действия при регистрации в Autofac, но иногда нужно запрашивать экземпляр из глобального контейнера (где нет соответствующей области действия времени жизни). В сценариях, где не существуе…
2 ответа

Локальная ссылка считается заемной

У меня есть структурный тип с Option<String> поле. В методе моего необязательного типа я хочу сопоставить это поле и извлечь значение в локальную область. Я понимаю, что мне нужно убедить контролера заимствования не бросать память, на которую …
1 ответ

Определение объема для цикла в Javascript

Рассмотрим следующий код: for (var x = 0; x < 10; x++) { /* do awesome stuff. 10 times! */ } console.log(x); x все еще печатается в консоли. Это дает мне предупреждения в JSHint, потому что через пару строк я делаю еще один цикл, повторное выделе…
15 май '14 в 16:36
1 ответ

Реализовать IntoIterator для двоичного дерева

Я пытаюсь построить двоичное дерево и написать итератор для обхода значений в дереве. При реализации черты IntoIterator для узлов дерева я столкнулся с проблемой времени жизни src\main.rs:43:6: 43:8 error: the lifetime parameter `'a` is not constrai…
07 май '17 в 16:00
1 ответ

Передача двух объектов, где один содержит ссылку на другой, в поток

У меня есть два объекта, где второй требует первого, чтобы пережить его, потому что он содержит ссылку на первый. Мне нужно перенести их обоих в поток, но компилятор жалуется, что первый не живет достаточно долго. Вот код: use std::thread; trait Fac…
1 ответ

Уничтожение аргументов происходит до возвращения?

ОК, у меня есть эта последовательность событий: Я строю объект r-значения Я передаю итератор к этому объекту r-значения в функцию в качестве параметра Функция работает на этом итераторе Функция возвращает этот итератор по значению Я разыменую итерат…
1 ответ

Время жизни клиента DocumentDB

Для доступа к DocumentDB/CosmosDB я использую пакет Microsoft.Azure.DocumentDB.Core(V1.3.2). Я заметил, когда я создаю и инициализирую DocumentClient учебный класс: var documentClient = new DocumentClient(new Uri(endpointUrl), primaryKey); await doc…
21 июн '17 в 23:40