我試圖在一個結構中設置一個值爲Any
類型的泛型,我是稍後將用於寫入redis。「trait` core :: marker :: Sized`沒有實現」爲一個通用類型的結構向量
struct Property<T> {
value: T,
}
struct Process {
properties: Option<[Property<Any>]>,
}
這會返回一個錯誤:
the trait `core::marker::Sized` is not implemented for the type `[Property<core::any::Any + 'static>]`
編輯
閱讀從註釋的所有環節後,我想解釋,我很想有一個屬性,可以接受任何原始類型作爲值:
use std::any::*;
struct Property<T> {
value: T,
}
struct Process {
properties: Option<Property<Any>>,
}
fn main() {
let p = Process {
properties: Some(
Property::<String>{
value: ""
}
)
};
let p2 = Process {
properties: Some(
Property::<u32>{
value: 150
}
)
};
}
請[編輯]你的問題來解釋爲什麼這不是任何類似的重複。我假設你**已**搜尋錯誤訊息。或http://stackoverflow.com/q/32446485/155423或http://stackoverflow.com/q/32618872/155423或http://stackoverflow.com/ q/26922353/155423或http://stackoverflow.com/q/26062892/155423? – Shepmaster
特別是[這個問題](http://stackoverflow.com/q/28175528/155423)明確處理'[T]'... – Shepmaster
而且要清楚,這*可能不是重複的*,但它預計你會展現出一些努力並展示你所做的研究。通常這意味着指出現有的SO問題很接近但留下一些無法解釋的問題。 – Shepmaster