यह कोड ()
std :: sync :: Arc; स्ट्रक्चर फू {x: isize, // वास्तविक कोड में कुछ जटिल, ड्रॉप लागू करता है} # [निकालें (क्लोन)] अच्छा [a: विकल्प & lt; आर्क & lt; फू & gt; & gt ;, बी: विकल्प & lt; आर्क & lt; Foo & gt; & gt; C: विकल्प & lt; आर्क & lt; Foo & gt; & gt ;,} # [निकालने (क्लोन)] स्ट्रेट खराब {x: [विकल्प & lt; Arc & lt; Foo & gt; & gt ;; 3],} fn मुख्य () {println! ("देखें"); 16: 5: 16:29 त्रुटि: विशेषता ``
के साथ
कोर :: मार्कर :: कॉपी` प्रकार 'alloc :: arc :: Arc & lt; Foo & gt; `[E0277] & lt; anon & gt ;: 16 x: [विकल्प & lt; Arc & lt; Foo & gt; & gt;; 3], ^ ~~~~~~~~~~~~~~~~~~~~~~~ & lt; anon & gt;: 14: 10: 14:15 नोट: # [derive_Clone] के विस्तार में
लेकिन
अच्छा
के साथ इसमें कोई समस्या नहीं है।
- यह क्यों है,
- कोई उपाय नहीं है ? मैं 12 स्वतंत्र क्षेत्रों को नियंत्रित करने के लिए बिल्कुल उत्सुक नहीं हूं।
मुद्दा इस में है:
<पूर्व> impl & lt; T & gt; [टी; के लिए क्लोन; 4] जहां टी: कॉपी
इससे वास्तविक प्रश्न बनता है: हमें एक सरणी क्लोन करने के लिए कॉपी
की आवश्यकता क्यों है? कहते हैं:
fn क्लोन (& amp; स्व) - & gt; [टी; $ N] {* self}
वर्तमान में, एक सरणी का एक क्लोन स्रोत सरणी के बिट-बिट-बिट प्रतिलिपि है। एक गहरा क्यों किसी और से अधिक जानकार हो सकता है।
No comments:
Post a Comment