rust

    4熱度

    1回答

    我試圖寫一個宏來計算各種函數執行的時間。 macro_rules! timer { ($($x: expr),+) => { let now = SystemTime::now(); let val = $x; match now.elapsed() { Ok(elapsed) => { // This should i

    2熱度

    1回答

    我想增加Rust和GTK-RS應用程序的結構,但我無法弄清楚如何處理事件連接。我發現問題存在於錯誤的一生中,但我並不真正瞭解它是如何解決的。 #[derive(Debug)] struct CreatingProfileUI { window: gtk::MessageDialog, profile_name_entry: gtk::Entry, add_btn:

    9熱度

    1回答

    爲什麼和baz不能編譯以下代碼bar? use std::any::Any; use std::fmt::Display; // `value` implements `Clone`, so I can call `.clone()`. fn foo<T: Display + Clone>(value: &T) { println!("{}", value.clone());

    1熱度

    2回答

    我已經寫了一個函數來映射向量。該方法定義預計3個泛型參數,並定義了一個輸入向量和函數: pub fn map<F, A, B>(mapFn: F, vect: &[A]) -> &[B] where F: Fn(A) -> B, { let mut list = vec![]; for v in vect { let mut value = mapF

    0熱度

    1回答

    與Iterate over vector of functions非常相似,我想遍歷一個函數vec。不同之處在於,我想調用每個函數並返回具有std::fmt::Display特徵的對象。 use std::time::Instant; use std::fmt; fn timer<T: fmt::Display> (msg: &str, x: &Fn() -> T) -> T {

    4熱度

    1回答

    是否可以這樣做?如果不是爲什麼? #![feature(conservative_impl_trait)] use std::error::Error; use std::io::{self, Read}; fn main() { if let Err(e) = foo() { println!("Error: {}", e); } } fn foo

    2熱度

    1回答

    我是Rust的新手,並且看到一些使用Box的人可以將許多實現特定特質的類型推送到Vec上。在使用泛型特性時,我遇到了一個問題。 error[E0038]: the trait `collision::collision_detection::Collidable` cannot be made into an object --> src/collision/collision_dete

    1熱度

    1回答

    所以我正在製作一個基於simplecs的ECS。 我有一個生成一個實體結構,看起來像這樣一個宏: ($($name:ident : $component:ty,)*) => { /// A collection of pointers to components #[derive(Clone, Debug, Deserialize, PartialEq)] pu

    4熱度

    1回答

    我卡住了,下面是我收到的JSON: { "BCH": { "aclass": "currency", "altname": "BCH", "decimals": 10, "display_decimals": 5 } } 我如何我的結構看起來應該像使用serde_json箱子解析屬性有點混亂。下面是我目前有: #[deriv

    2熱度

    1回答

    考慮下面的結構Foo<T>是派生Default: #[derive(Default)] struct Foo<T> { bar: Option<T>, } 爲什麼這個編譯 fn create<T>() -> Foo<T> { Foo { bar: Option::default(), } } 但是這不? fn create_alt<T>()