about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2016-02-14 00:04:17 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2016-02-18 01:04:28 +0300
commit767a4474700e4bdbbae07caa2a85647e356d4de0 (patch)
tree1868d15932eb891726de4da6aa6513be15abf29e /src/test
parent2051a92134bae8b4c5fd3fdeab32c78b7bd74014 (diff)
downloadrust-767a4474700e4bdbbae07caa2a85647e356d4de0.tar.gz
rust-767a4474700e4bdbbae07caa2a85647e356d4de0.zip
privacy: Mark reachable but unnameable items as reachable
Diffstat (limited to 'src/test')
-rw-r--r--src/test/auxiliary/issue-16734.rs23
-rw-r--r--src/test/run-pass/issue-16734.rs19
2 files changed, 42 insertions, 0 deletions
diff --git a/src/test/auxiliary/issue-16734.rs b/src/test/auxiliary/issue-16734.rs
new file mode 100644
index 00000000000..9b1635c1944
--- /dev/null
+++ b/src/test/auxiliary/issue-16734.rs
@@ -0,0 +1,23 @@
+// Copyright 2016 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.
+
+mod inner_private_module {
+    pub struct Unnameable;
+
+    impl Unnameable {
+        pub fn method_of_unnameable_type(&self) -> &'static str {
+            "Hello!"
+        }
+    }
+}
+
+pub fn public_function_returning_unnameable_type() -> inner_private_module::Unnameable {
+    inner_private_module::Unnameable
+}
diff --git a/src/test/run-pass/issue-16734.rs b/src/test/run-pass/issue-16734.rs
new file mode 100644
index 00000000000..80225c9fe8e
--- /dev/null
+++ b/src/test/run-pass/issue-16734.rs
@@ -0,0 +1,19 @@
+// Copyright 2016 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.
+
+// aux-build:issue-16734.rs
+
+extern crate issue_16734;
+
+fn main() {
+    let res = issue_16734::public_function_returning_unnameable_type()
+                                .method_of_unnameable_type();
+    assert_eq!(res, "Hello!");
+}