privacy: Mark reachable but unnameable items as reachable

This commit is contained in:
Vadim Petrochenkov 2016-02-14 00:04:17 +03:00
parent 2051a92134
commit 767a447470
3 changed files with 176 additions and 11 deletions

View file

@ -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
}

View file

@ -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!");
}