From daec3fe4e6bd4af52e551c1e09ae345a80b42452 Mon Sep 17 00:00:00 2001 From: Jeffrey Seyfried Date: Wed, 13 Apr 2016 03:21:17 +0000 Subject: [PATCH] Always report PRIVATE_IN_PUBLIC violations as hard errors when the feature `pub_restricted` is enabled. --- src/librustc_privacy/lib.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/librustc_privacy/lib.rs b/src/librustc_privacy/lib.rs index a6ce4cc3ee41..d55d0d53b8c4 100644 --- a/src/librustc_privacy/lib.rs +++ b/src/librustc_privacy/lib.rs @@ -1023,7 +1023,8 @@ impl<'a, 'tcx: 'a, 'v> Visitor<'v> for SearchInterfaceForPrivateItemsVisitor<'a, self.min_visibility = vis; } if !vis.is_at_least(self.required_visibility, &self.tcx.map) { - if self.old_error_set.contains(&ty.id) { + if self.tcx.sess.features.borrow().pub_restricted || + self.old_error_set.contains(&ty.id) { span_err!(self.tcx.sess, ty.span, E0446, "private type in public interface"); } else { @@ -1053,7 +1054,8 @@ impl<'a, 'tcx: 'a, 'v> Visitor<'v> for SearchInterfaceForPrivateItemsVisitor<'a, self.min_visibility = vis; } if !vis.is_at_least(self.required_visibility, &self.tcx.map) { - if self.old_error_set.contains(&trait_ref.ref_id) { + if self.tcx.sess.features.borrow().pub_restricted || + self.old_error_set.contains(&trait_ref.ref_id) { span_err!(self.tcx.sess, trait_ref.path.span, E0445, "private trait in public interface"); } else {