Rust में रिकर्सिव डेटा स्ट्रक्चर क्यों प्रतिबंधित हैं और उन्हें सही तरीके से कैसे बनाएं?
नमस्ते साथियों! मैंने Rust सीखना शुरू किया है और एक अजीब एरर का सामना किया। मैं C या Python की तरह एक सरल linked list बनाना चाहता हूं:\n\n```rust\nstruct Node {\n value: i32,\n next: Node, // error: recursive type `Node` has infinite size\n}\n```\n\nकंपाइलर कहता है: "recursive type `Node` has infinite size"। मैं समझता हूं कि Rust टाइप्स के आकार के मामले में सख्त है, लेकिन यह समस्या क्यों है? C में मैं `struct Node { int value; struct Node* next; }` बना सकता हूं — वहां pointer है, और सब काम करता है। Python में तो ऑब्जेक्ट को अपने अंदर ही स्टोर किया जा सकता है।\n\nRust ऐसी recursion को क्यों प्रतिबंधित करता है? और फिर lists, trees और अन्य recursive structures कैसे बनाएं? मैंने `Box` के बारे में सुना है, लेकिन समझ नहीं आता कि यह समस्या क्यों हल करता है। कृपया सरल शब्दों में उदाहरणों के साथ समझाएं। पहले से धन्यवाद!\n\n<<>>\n