rust
У меня есть эта структура, которая создается десериализацией с помощью Serde, и я хочу, чтобы в ней было поле типа Url, которое не десериализуется: #[derive(Deserialize, Debug)] pub struct Flow { #[serde(skip_deserializing)] pub source: Url, } Игровая площадка Серд жалуется на то, что Url не уд...
В следующем коде, как я могу вернуть ссылку floor вместо нового объекта? Можно ли позволить функции возвращать либо заимствованную ссылку, либо собственное значение? Груз.toml [dependencies] num = "0.1.32" Main.rs extern crate num; use num::bigint::BigInt; fn cal(a: BigInt, b: BigInt, floor: &B...
Stdio Тип реализует FromRawFd, что позволяет мне построить его из любого файлового дескриптора. (В моем случае я хочу использовать трубы.) Это именно то, что мне нужно, но моя проблема в том, что stdin()/stdout()/stderr() методы принимают свой аргумент Stdio по значению. Это означает, что когда объект Command...
У меня есть код, который создает RefCell, а затем хочет передать ссылку на этот RefCell в один поток: extern crate crossbeam; use std::cell::RefCell; fn main() { let val = RefCell::new(1); crossbeam::scope(|scope| { scope.spawn(|| *val.borrow()); }); } В полном коде я использую тип...
Код выглядит так: // Simplified pub trait Field: Send + Sync + Clone { fn name(&self); } #[deriving(Clone)] pub enum Select { SelectOnly(Vec<Rc<Field>>), SelectAll } Ошибка такова: the trait `core::kinds::Sized` is not implemented for the type `Field+'static` Есть ли друго...
Обновление: это старая ошибка решена в 1.12 Вот какой-то надуманный, но простой пример соответствия шаблону (демо): fn main() { let x = 'a'; match x { 'a'...'b' if false => { println!("one"); }, 'a' => { println!("two")...
Я пишу библиотеку, которая кодирует / декодирует данные в / из двоичного формата. Часть формата-это числа, для которых я использую собственные примитивные типы Rust (например i8, i64, f32 и т.д.). Существует ли простой, встроенный способ преобразования этих типов данных в / из двоичных, т. е. f64/f32/i64/и т...
Я читал о format! и всех вариантах форматирования и увидел, что есть прекрасный способ центрировать строку текста, используя либо <, ^ или >. Вместо того чтобы центрировать строку в пробелах, можно ли центрировать ее в символе? {:^32} // Centers it nicely in 32 characters of whitespace Я думал прим...
почему ржавчина есть String и str? В чем разница между String и str? Когда можно использовать String вместо str и наоборот? Один из них становится устаревшим?...
я реализовал следующий метод и блок тест: use std::fs::File; use std::path::Path; use std::io::prelude::*; fn read_file(path: &Path) { let mut file = File::open(path).unwrap(); let mut contents = String::new(); file.read_to_string(&mut contents).unwrap(); println!("{}", contents); } ...