1
ответ

Есть ли способ выделить непосредственно в кучу без использования нестабильного синтаксиса коробки?

Я нахожусь в процессе получения моего проекта, ориентированного на WASM, и кажется, что размер стека в браузере относительно мал и не настраивается. Следствием этого является то, что мое приложение ...
вопрос задан: 18 January 2019 03:19
1
ответ

Предоставьте HashMap универсальным способом, который игнорирует значение HashMap

У меня есть разные структуры, которые содержат HashMap с ключом String, но с разными типами значений. Например, одна структура имеет член типа HashMap < String, String & gt ;, другая будет ...
вопрос задан: 17 January 2019 15:24
1
ответ

Как создать макрос, который принимает функцию с несколькими параметрами и предоставляет первый аргумент для этой функции?

Я хочу иметь возможность создать функцию более высокого порядка (называемую g), которая принимает функцию (называемую f). g должен передать первый параметр в f и вернуть новую функцию. Случай использования в том, что я хочу ...
вопрос задан: 17 January 2019 12:25
1
ответ

Как работает пожизненная обработка для объектов-черт Fn с универсальными типами?

Следующий код терпит неудачу, как и ожидалось: struct T < 'a > {f: & amp; a Fn (& amp; 'a i32),} fn test <' a > (_: & amp; 'a i32) {} fn main () {let t = T {f: & amp; test} ; {пусть v = ...
вопрос задан: 16 January 2019 18:59
1
ответ

Синхронный http-клиент для ржавчины? [закрыто]

Я ищу HTTP-клиента с минимальными издержками в Rust для создания настраиваемой среды выполнения для AWS-лямбды. Все реализации, которые я нахожу (включая официальную среду выполнения от AWS), основаны на Hyper / Tokio и ...
вопрос задан: 16 January 2019 16:42
1
ответ

ошибка [E0106]: отсутствует указатель времени жизни (несмотря на то, что он установлен) [duplicate]

Рассмотрим следующий код: extern crate clap; используйте clap :: {App}; использовать std :: io; fn parse_argv () - > & amp; 'static clap :: ArgMatches {return App :: new ("example") .get_matches ()} fn main () - & ...
вопрос задан: 16 January 2019 13:27
1
ответ

Встраивание actix-web в структуру, чтобы я мог запускать / останавливать сервер

Я работаю над внедрением actix-web в библиотеку связывания. Я хотел бы объявить HttpServer в структуре, чтобы я мог легко вызывать .start () и .system_exit (). Из моего очень простого прочтения ...
вопрос задан: 16 January 2019 03:18
1
ответ

Как я могу сопоставить кортеж с кортежем, содержащим перечисление & amp; mut, и использовать перечисление в одной руке матча и рекурсивный вызов в другом?

Как можно сделать код для компиляции? Это кажется совершенно безопасным, но я не могу убедить компилятор, что он есть. Соответствие версии * self дает ошибку: ошибка [E0507]: не может выйти из ...
вопрос задан: 13 July 2018 17:41
1
ответ

Как я могу сопоставить кортеж с кортежем, содержащим перечисление & amp; mut, и использовать перечисление в руке соответствия?

Как можно сделать код для компиляции? Это кажется совершенно безопасным, но не может убедить компилятор, что он есть. Соответствие версии * self дает ошибку: не может выйти из заимствованного контента на ...
вопрос задан: 13 July 2018 17:22
1
ответ

Связывает ссылку на свойство struct с переменной внутри функции, возвращающей изменяемую ссылку [duplicate]

Эти коды: struct A {x: i32} struct B {y: A} impl B {pub fn new (y: A) - & gt; Self {B {y: y}} pub fn fn1 (& amp; mut self) - & gt; & amp; mut Self {let z = & amp; ...
вопрос задан: 11 March 2018 22:34
1
ответ

Невозможно заимствовать неизменяемое содержимое `Box`` ** it` как изменчивое при циклировании по вектору с полиморфными признаками [duplicate]

Я решил сделать очень простой игровой цикл, перейдя через Vec черт. Поскольку размер объекта неизвестен, мне нужно использовать Коробку или ссылку для достижения этого полиморфного подхода. Мой подход не может ...
вопрос задан: 8 January 2018 00:28
1
ответ

Как обернуть просматриваемый итератор без нарушения правил заимствования [duplicate]

Я пытаюсь сделать простой лексер, который работает на итераторах Peekable. Когда больше нет символов, оставшихся для повторения, я возвращаю EOF вместо этого с помощью команды unwrap_or (). Вместо того, чтобы постоянно печатать их.
вопрос задан: 5 January 2018 20:15
1
ответ

Совместное использование объекта только для чтения между потоками в Rust? [Дубликат]

Я пытаюсь начать работу с потоками Rust. В моем примере (надуманный, но основанный на реальной проблеме), я хочу принять HashMap только для чтения в качестве аргумента функции, а затем предоставить его нескольким ...
вопрос задан: 3 August 2017 18:13
1
ответ

Зачем использовать ссылку на неизменяемый вектор в цикле for? [Дубликат]

В главе 8 книги ржавчины они приводят следующий пример: пусть v = vec! [100, 32, 57]; для i в & amp; v {println! ("{}", i); } Я не понимаю, почему & amp; v использовался вместо v. Если v ...
вопрос задан: 27 March 2017 00:52
1
ответ

В Rust, как суммировать отдельные первые компоненты упорядоченных пар «Some»? [Дубликат]

В приведенной ниже программе Rust пара представляет собой вектор значений Option, где каждое значение Option - это некоторая упорядоченная пара. Моя цель: (1) извлечь первые компоненты этих упорядоченных пар, затем (2) суммировать ...
вопрос задан: 16 March 2017 15:03
1
ответ

Почему мой код SSE Rusty медленнее, чем скалярная версия? [Дубликат]

Я реализовал алгоритм RNG Fast Mersenne Twister (SFMT) SSE в Rust, но версия SSE работает медленнее, чем скалярная версия. Две версии функции следующие: # ...
вопрос задан: 5 March 2017 07:52
1
ответ

Можете ли вы получить тип общей переменной [duplicate]

Я хочу запустить код на основе параметра типа T. T может быть одним из списка известных типов. fn test & lt; T & gt; (t: T) {// если T = u64 напечатать «Hi» // если T = u32 напечатать «Извините»}
вопрос задан: 11 January 2017 19:38
1
ответ

Почему в аргументе изменчивой функции [duplicate]

Заголовок, вероятно, немного запутанный, я имею в виду, что когда я пытаюсь скомпилировать: if folder_file_paths.len () & gt; Сжатый_data.len () {compression_data.reserve (folder_file_paths.len () - ...
вопрос задан: 16 December 2016 16:39
1
ответ

Как я могу взять два элемента одновременно в векторе во время назначения? [Дубликат]

У меня есть вектор векторов, и я хочу вытолкнуть один элемент из подвектора в другой подвектор, но не могу этого сделать из-за правил заимствования: fn func (v: & amp; mut Vec & lt; Vec & gt; & gt; ) {v [0] ...
вопрос задан: 16 December 2016 16:39
1
ответ

Ошибка при вычислении Получение среднего количества кусков [дубликатов]

У меня есть ряд элементов, которые мне нужно разделить на куски 12 и вычислить среднее значение каждого куска: fn main () {let series = [30, 21, 29, 31, 40, 48, 53, 47, 37, 39, 31, 29, 17, ...
вопрос задан: 7 December 2016 21:04
1
ответ

Как инициализировать массив Vec? [Дубликат]

Я хочу инициализировать массив (фиксированная длина) векторов (переменной длины), например: let array_of_vec: [Vec & lt; i32 & gt ;; 10] = [Vec :: new (); 10]; Но я получаю: error [E0277]: привязка к значению `std :: vec :: ...
вопрос задан: 6 December 2016 15:05
1
ответ

Как установить функции зависимостей на основе функций библиотеки? [Дубликат]

У меня есть пакет, для которого я хочу, чтобы поддержка serde была необязательной. Я настроил его как функцию, и некоторые из моих зависимостей (например, nalgebra) создали его как функцию. В моем Cargo.toml у меня есть ...
вопрос задан: 24 October 2016 15:16
1
ответ

Каков наиболее адекватный шаблон для неизменяемых объектов, которые вычисляются после использования в любом месте приложения? [Дубликат]

Исходя из фона Scala, типичным способом хранения сложных долгоживущих неизменяемых объектов (например, большого массива GeoJson MultiPolygon, загруженного из файла), было бы следующее: // в пакете Helpers.scala ...
вопрос задан: 11 August 2016 05:04
1
ответ

Возможно ли передать право собственности, кроме как с помощью перемещения или коробки? [Дубликат]

Книга ржавчины в основном говорит о механизме перемещения, но если у меня есть большая структура, я вижу, что компилятор Rust создает код, который копирует содержимое структуры, когда я передаю ее по значению ...
вопрос задан: 26 July 2016 00:20
1
ответ

Как я могу запускать несколько команд в одном и том же подпроцессе? [Дубликат]

Я пытаюсь выполнить последовательность команд в том же процессе. Например. пусть v = vec! ["python3 -m venv venv", "source venv / bin / activate"]; Я попытался присоединиться к вектору с помощью «& amp; & amp;» и ...
вопрос задан: 24 July 2016 19:46
1
ответ

Преобразование итератора результата в результат & lt; Vec & gt; & gt; [Дубликат]

Как я могу преобразовать итератор результата в результат вектора? В качестве примера предположим, что я хочу преобразовать итератор байтов, который можно получить из свойства Read: используйте std :: io :: {Read, Result}; использовать ...
вопрос задан: 13 June 2016 13:53
1
ответ

Укажите T как беззнаковое число в общей функции [duplicate]

Мне нужно написать функцию, которая возвращает 4 бита в индексе i из целого числа без знака t. imax = (tsize / 4) - 1 // tsize - размер беззнакового числа; Это должно быть примерно так: fn get4 & lt; ...
вопрос задан: 18 May 2016 12:51
1
ответ

Почему вызов iter как для массива, так и для ссылки на массив работает? [Дубликат]

Единственное различие между этими двумя примерами состоит в том, что первый имеет & amp; в [1, 2, 4]. Оба примера работают. По этой причине я пытался найти документацию, но пока не нашел. Что ...
вопрос задан: 7 April 2016 14:42
1
ответ

Как я могу создать функцию is_prime, которая является общей для различных целочисленных типов?

Я только что погрузился в Rust и хочу сделать некоторые базовые математические функции, которые являются общими. У меня есть следующая функция is_prime: fn is_prime (n: i64) - > bool {если n == 2 || n == 3 {...
вопрос задан: 30 December 2015 20:51
1
ответ

Как скопировать байтовый диапазон в новый выходной файл в Rust? [Дубликат]

У меня есть входной файл, открытый как BufReader в Rust. Теперь я хотел бы скопировать определенный диапазон байтов в новый выходной файл. Каким будет идиоматический способ сделать это в Rust v1.24? используйте std :: io :: {self, ...
вопрос задан: 10 November 2015 21:58