Rust में अद्वितीय अनाम प्रकार क्यों मौजूद हैं और उनके साथ कैसे काम करें?
सभी को नमस्ते! मैंने हाल ही में Rust सीखना शुरू किया है, और मुझे अनाम प्रकारों की अवधारणा को समझने में कठिनाई हो रही है। मैंने पढ़ा कि Rust में प्रत्येक closure लिटरल का अपना एक अद्वितीय, अघोषित प्रकार होता है। उदाहरण के लिए, यह कोड:\n\n```rust\nlet add_one = |x: i32| x + 1;\nlet double = |x: i32| x * 2;\n```\n\nमैं समझता हूँ कि `add_one` और `double` अलग-अलग closures हैं जिनके अलग-अलग प्रकार हैं। लेकिन ऐसा क्यों किया गया है? C++ या अन्य भाषाओं में मैं बस function pointer घोषित कर सकता हूँ या `std::function` का उपयोग कर सकता हूँ। Rust ने अद्वितीय अनाम प्रकार बनाने का रास्ता क्यों चुना? मुझे लगता है कि यह जेनेरिक कोड लिखना कठिन बनाता है, खासकर जब मैं किसी function में closure पास करना चाहता हूँ या इसे struct में स्टोर करना चाहता हूँ। उदाहरण के लिए, मैं बस यह नहीं लिख सकता:\n\n```rust\nfn apply(f: ???, x: i32) -> i32 {\n f(x)\n}\n```