बाहरी क्रेट के प्रकार के लिए ट्रेट कैसे लागू करें, अगर मैं न तो ट्रेट और न ही प्रकार बदल सकता हूँ?
सभी को नमस्ते! मैं Rust में नया हूँ और एक समस्या का सामना कर रहा हूँ जिसे मैं कई घंटों से हल नहीं कर पाया हूँ।
मेरे पास एक बाहरी क्रेट `external_crate` है जो `Transformer` ट्रेट और `Data` स्ट्रक्चर को परिभाषित करता है। मैं इस क्रेट के कोड को बदल नहीं सकता। यह कुछ इस तरह दिखता है:
```rust
// external_crate
pub trait Transformer {
fn transform(&self) -> String;
}
pub struct Data {
pub value: i32,
}
```
मैं अपने प्रोजेक्ट में इसका उपयोग करने के लिए `Data` के लिए `Transformer` लागू करना चाहता हूँ। मैं लिखता हूँ:
```rust
use external_crate::{Data, Transformer};
impl Transformer for Data {
fn transform(&self) -> String {
format!("Value: {}", self.value)
}
}
```
लेकिन कंपाइलर एक एरर देता है:
```
error[E0117]: only traits defined in the current crate can be implemented
```