about summary refs log tree commit diff
path: root/src/test/codegen
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2014-09-19 12:30:07 -0700
committerPatrick Walton <pcwalton@mimiga.net>2014-09-22 20:05:45 -0700
commite9ad12c0cae5c43ada6641c7dc840a0fbe5010a2 (patch)
tree21b3e62d447bda4ccda606894edb66ca965bccee /src/test/codegen
parent43fd619819b334b8548dca98797bd4c8078636cb (diff)
downloadrust-e9ad12c0cae5c43ada6641c7dc840a0fbe5010a2.tar.gz
rust-e9ad12c0cae5c43ada6641c7dc840a0fbe5010a2.zip
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/test/codegen')
-rw-r--r--src/test/codegen/static-method-call-multi.rs2
-rw-r--r--src/test/codegen/static-method-call.rs2
-rw-r--r--src/test/codegen/virtual-method-call-struct-return.rs4
-rw-r--r--src/test/codegen/virtual-method-call.rs2
4 files changed, 5 insertions, 5 deletions
diff --git a/src/test/codegen/static-method-call-multi.rs b/src/test/codegen/static-method-call-multi.rs
index efac93692f6..996d2203824 100644
--- a/src/test/codegen/static-method-call-multi.rs
+++ b/src/test/codegen/static-method-call-multi.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-struct Struct {
+pub struct Struct {
     field: int
 }
 
diff --git a/src/test/codegen/static-method-call.rs b/src/test/codegen/static-method-call.rs
index 79fb9d8aa29..9c5894fb97a 100644
--- a/src/test/codegen/static-method-call.rs
+++ b/src/test/codegen/static-method-call.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-struct Struct {
+pub struct Struct {
     field: int
 }
 
diff --git a/src/test/codegen/virtual-method-call-struct-return.rs b/src/test/codegen/virtual-method-call-struct-return.rs
index 20bda755f37..ff1a611c4ef 100644
--- a/src/test/codegen/virtual-method-call-struct-return.rs
+++ b/src/test/codegen/virtual-method-call-struct-return.rs
@@ -8,12 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-struct Stuff {
+pub struct Stuff {
   a: int,
   b: f64
 }
 
-trait Trait {
+pub trait Trait {
     fn method(&self) -> Stuff;
 }
 
diff --git a/src/test/codegen/virtual-method-call.rs b/src/test/codegen/virtual-method-call.rs
index 513a299cc63..036c0957e99 100644
--- a/src/test/codegen/virtual-method-call.rs
+++ b/src/test/codegen/virtual-method-call.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-trait Trait {
+pub trait Trait {
     fn method(&self) -> int;
 }