diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2014-09-19 12:30:07 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2014-09-22 20:05:45 -0700 |
| commit | e9ad12c0cae5c43ada6641c7dc840a0fbe5010a2 (patch) | |
| tree | 21b3e62d447bda4ccda606894edb66ca965bccee /src/libcore | |
| parent | 43fd619819b334b8548dca98797bd4c8078636cb (diff) | |
librustc: Forbid private types in public APIs.
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]
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/any.rs | 2 | ||||
| -rw-r--r-- | src/libcore/iter.rs | 1 |
2 files changed, 1 insertions, 2 deletions
diff --git a/src/libcore/any.rs b/src/libcore/any.rs index 625b89b3bae..fb70cb5b752 100644 --- a/src/libcore/any.rs +++ b/src/libcore/any.rs @@ -94,7 +94,7 @@ pub enum Void { } pub trait Any: AnyPrivate {} /// An inner trait to ensure that only this module can call `get_type_id()`. -trait AnyPrivate { +pub trait AnyPrivate { /// Get the `TypeId` of `self` fn get_type_id(&self) -> TypeId; } diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 6bee0573fac..f84c5eec452 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -2178,7 +2178,6 @@ pub type Iterate<'a, T> = Unfold<'a, T, IterateState<'a, T>>; /// Creates a new iterator that produces an infinite sequence of /// repeated applications of the given function `f`. -#[allow(visible_private_types)] pub fn iterate<'a, T: Clone>(seed: T, f: |T|: 'a -> T) -> Iterate<'a, T> { Unfold::new((f, Some(seed), true), |st| { let &(ref mut f, ref mut val, ref mut first) = st; |
