5
在結構中使用原始點時,Rust不允許從默認值派生。如何爲原始指針實現`Default`?
如:
#[derive(Default)]
struct Foo {
bar: *mut Foo,
baz: usize,
}
報告
error[E0277]: the trait bound `*mut Foo: std::default::Default` is not satisfied
我試過,但它不工作:
impl Default for *mut Foo {
fn default() -> *mut Foo {
ptr::null_mut()
}
}
這給出了一個錯誤:
impl doesn't use types inside crate
有沒有辦法爲原始指針聲明Default
?
否則我得寫明確default
功能包含一個原始指針,確定在這個例子中,但對於更大的結構也可能是乏味的任何struct
,所以我希望能夠避免它在某些案例。
現在,我想知道,如果有人主動決定,原始指針不應該IMPL'Default'或者如果IMPL只是忘記了... –
我已創建一個問題:https://github.com /防鏽琅/防鏽/問題/ 43722 – AndreyT