This breaks code like:
struct Foo {
...
}
pub fn make_foo() -> Foo {
...
}
Change this code to:
pub struct Foo { // note `pub`
...
}
pub fn make_foo() -> Foo {
...
}
The `visible_private_types` lint has been removed, since it is now an
error to attempt to expose a private type in a public API. In its place
a `#[feature(visible_private_types)]` gate has been added.
Closes #16463.
RFC #48.
[breaking-change]
28 lines
789 B
Rust
28 lines
789 B
Rust
// Copyright 2013 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.
|
|
|
|
pub struct Struct {
|
|
field: int
|
|
}
|
|
|
|
impl Struct {
|
|
fn method(&self, x: int) -> int {
|
|
self.field + x
|
|
}
|
|
}
|
|
|
|
#[no_mangle]
|
|
pub fn test(a: &Struct,
|
|
b: &Struct,
|
|
c: &Struct,
|
|
d: &Struct,
|
|
e: &Struct) -> int {
|
|
a.method(b.method(c.method(d.method(e.method(1)))))
|
|
}
|