Rust में `Box<T>` से कॉपी किए बिना स्वामित्व मान कैसे प्राप्त करें?
सभी को नमस्ते! मैंने Rust सीखना शुरू किया है और स्मार्ट पॉइंटर्स के साथ काम करते समय एक समस्या का सामना किया। मेरे पास एक struct है जो `Copy` trait को implement नहीं करता (उदाहरण के लिए, इसमें `Vec` या `String` है)। मैं इसे heap पर भेजने के लिए `Box` में रखता हूं, लेकिन बाद में मुझे मूल मान वापस निकालने की आवश्यकता है ताकि बिना उधार लिए इसके साथ काम कर सकूं।
यहाँ एक उदाहरण है:
```rust
struct Data {
numbers: Vec,
}
fn main() {
let boxed = Box::new(Data { numbers: vec![1, 2, 3] });
// अब Data को वापस कैसे प्राप्त करूं ताकि numbers का स्वामित्व मिल जाए?
// मैं कुछ ऐसा चाहता हूं: let data = boxed.into_inner();
// लेकिन ऐसा कोई method नहीं है!
}
```
मैंने dereference करने के लिए `*boxed` का उपयोग करने की कोशिश की, लेकिन यह एक reference देता है, स्वामित्व नहीं। मैंने `let data = *boxed;` करने की कोशिश की — compiler...