संरचना में कच्चे बिंदुओं का उपयोग करते समय, जंग को डिफ़ॉल्ट से प्राप्त करने की अनुमति नहीं है।कच्चे सूचक के लिए 'डिफ़ॉल्ट' को कैसे कार्यान्वित करें?
जैसे:
#[derive(Default)]
struct Foo {
bar: *mut Foo,
baz: usize,
}
रिपोर्ट
error[E0277]: the trait bound `*mut Foo: std::default::Default` is not satisfied
मैं इस कोशिश की, लेकिन यह काम नहीं करता:
impl doesn't use types inside crate
:
impl Default for *mut Foo {
fn default() -> *mut Foo {
ptr::null_mut()
}
}
यह एक त्रुटि देता है
कच्चे सूचक के लिए Default
घोषित करने का कोई तरीका है?
अन्यथा मुझे किसी भी struct
के लिए स्पष्ट default
फ़ंक्शंस लिखना होगा जिसमें कच्चे सूचक शामिल हैं, इस उदाहरण में ठीक है, लेकिन बड़े structs के लिए यह कठिन हो सकता है, इसलिए मैं इसे कुछ से बचने में सक्षम होना चाहता हूं मामलों।
अब मैं सोच रहा हूँ, अगर किसी को सक्रिय रूप से फैसला किया है कि कच्चे संकेत Impl नहीं करना चाहिए 'Default' या यदि impl बस भूल गया था ... –
मैं एक मुद्दा बना: https://github.com/जंग-लैंग/जंग/मुद्दों/43,722 – AndreyT