Avatar ·

Rust प्रकारों में `dyn` कीवर्ड का क्या अर्थ है?

नमस्ते! मैंने Rust सीखना शुरू किया है और एक अजीब चीज़ देखी। कुछ उदाहरणों में मैं `Box` देखता हूँ, जबकि अन्य में सिर्फ `Box` या `&dyn Trait`। मैं समझने की कोशिश कर रहा हूँ कि `dyn` कीवर्ड वास्तव में क्या करता है। उदाहरण के लिए, मेरे पास ऐसा कोड है: ```rust trait Animal { fn speak(&self); } struct Dog; impl Animal for Dog { fn speak(&self) { println!("भौं!"); } } fn main() { let pet: Box = Box::new(Dog); pet.speak(); } ``` अगर मैं `dyn` हटा दूँ और सिर्फ `Box` लिखूँ, तो कंपाइलर एक एरर देता है: "the trait `Animal` cannot be made into an object"। लेकिन मैं समझ नहीं पा रहा हूँ कि ऐसा क्यों होता है, और `dyn` का वास्तव में क्या मतलब है। क्या यह कोई विशेष प्रकार है? या कोई मॉडिफायर? इसका उपयोग कब करना चाहिए और कब नहीं? कृपया समझाएँ।