Closed
Description
Given code like this:
trait Private {
}
impl<T: Private> Send for T {
}
the diagnostic will read as such:
error[E0119]: conflicting implementations of trait `std::marker::Send` for type `&_`:
--> src/lib.rs:4:1
|
4 | impl<T: Private> Send for T {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: conflicting implementation in crate `core`:
- impl<T> std::marker::Send for &T
where T: std::marker::Sync, T: ?Sized;
= note: downstream crates may implement trait `Private` for type `&_`
the last note here is incorrect because the only thing that can implement this trait is the crate which declared the private Private
trait.