use std::convert::Into; pub trait UiId { fn push(&self); } impl<'a> UiId for &'a str { fn push(&self) {} } impl<T: Into<i32>> UiId for T { fn push(&self) {} } fn main() {} Standard Error Compiling playground v0.0.1 (/playground) error[E0119]: conflicting implementations of trait `UiId` for type `&str`: --> src/main.rs:11:1 | 7 | impl<'a> UiId for &'a str { | ------------------------- first implementation here ... 11 | impl<T: Into<i32>> UiId for T { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `&str` | = note: upstream crates may add a new impl of trait `std::convert::From<&str>` for type `i32` in future versions error: aborting due to previous error For more information about this error, try `rustc --explain E0119`. error: could not compile `playground`. To learn more, run the command again with --verbose.



str 과 Into 가 로컬크레잇이 아니며 향후 str이 Into 를 구현할 가능성 때문에


이런 에러가 나는게 맞는건가?



근데 이 에러는 좀 너무 빡치게함.. 아니 종일 짠 코드를 죄다 갈아엎을수도 없고