Lint exported_private_dependencies misses public dependency via trait impl (original) (raw)

Tracking issue: #44663, RFC: rust-lang/rfcs#1977

Cargo.toml:

cargo-features = ["public-dependency"]

[package] name = "playground" version = "0.0.0" edition = "2018"

[dependencies] num-traits = "0.2"

lib.rs:

pub struct S;

impl std::ops::Add for S { type Output = S;

fn add(self, _: Self) -> Self::Output {
    unimplemented!()
}

}

impl num_traits::Zero for S { fn zero() -> Self { unimplemented!() } fn is_zero(&self) -> bool { unimplemented!() } }

Also, a plain pub use seems to be missed as well.

Implementation