I'm trying to implement a trait for Display
and Debug
traits, but rust responds with conflicting implementations
.
Here is my code:
pub trait AsString {
fn as_string(self) -> String;
}
impl<T: Display> AsString for T {
fn as_string(self) -> String {
self.to_string()
}
}
impl<T: Debug> AsString for T {
fn as_string(self) -> String {
format!("{:?}", self)
}
}
But rust gives me:
error[E0119]: conflicting implementations of trait `AsString`
--> src/convert_test_result.rs:43:1
|
37 | impl<T: Display> AsString for T {
| ------------------------------- first implementation here
...
43 | impl<T: Debug> AsString for T {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
How can I solve the issue?