librustc: Mark all type implementations public. rs=impl-publicity
librustc: Make methods private if the impl is private
librustc: Enforce cross-crate method privacy