]> git.lizzy.rs Git - rust.git/commitdiff
Revert "Remove unnecessary trait accessibility check."
authorAlex Crichton <alex@alexcrichton.com>
Mon, 26 Oct 2015 16:16:05 +0000 (09:16 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Mon, 26 Oct 2015 16:16:05 +0000 (09:16 -0700)
This reverts commit f4f95eb3a9f2c3c38679db84aabbb7cdb46d2641.

src/librustc_privacy/lib.rs
src/test/run-pass/issue-16264.rs [deleted file]

index 608558ac2bdb9e6a7005192246d590cf2d4aa147..ea20d2b4238616e4dcb57fd33255f8f259bc3be8 100644 (file)
@@ -852,8 +852,12 @@ fn check_method(&mut self, span: Span, method_def_id: DefId,
             ty::ImplContainer(_) => {
                 self.check_static_method(span, method_def_id, name)
             }
-            // Trait methods are always accessible if the trait is in scope.
-            ty::TraitContainer(_) => {}
+            // Trait methods are always all public. The only controlling factor
+            // is whether the trait itself is accessible or not.
+            ty::TraitContainer(trait_def_id) => {
+                self.report_error(self.ensure_public(span, trait_def_id,
+                                                     None, "source trait"));
+            }
         }
     }
 }
diff --git a/src/test/run-pass/issue-16264.rs b/src/test/run-pass/issue-16264.rs
deleted file mode 100644 (file)
index 67701de..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use outer::Foo;
-
-mod outer {
-    pub use self::inner::Foo;
-
-    mod inner {
-        pub trait Foo {
-            fn bar(&self) {}
-        }
-        impl Foo for i32 {}
-    }
-}
-
-fn main() {
-    let x: i32 = 0;
-    x.bar();
-}