Skip to content

Commit

Permalink
Add UI test
Browse files Browse the repository at this point in the history
  • Loading branch information
Aaron1011 committed Feb 1, 2019
1 parent 23014b4 commit 93d872d
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/test/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs
@@ -0,0 +1 @@
pub struct OtherType;
31 changes: 31 additions & 0 deletions src/test/ui/privacy/pub-priv-dep/pub-priv1.rs
@@ -0,0 +1,31 @@
// aux-build:priv_dep.rs
#![feature(public_private_dependencies)]
#![deny(leaked_private_dependency)]

// This crate is a private dependency
extern crate priv_dep;

use priv_dep::OtherType;

// Type from private dependency used in private
// type - this is fine
struct PrivateType {
field: OtherType
}

pub struct PublicType {
pub field: OtherType,
//~^ ERROR type `priv_dep::OtherType` from private dependency 'priv_dep' in public interface [leaked_private_dependency]
//~| WARNING this was previously accepted
priv_field: OtherType,
}

impl PublicType {
pub fn pub_fn(param: OtherType) {}
//~^ ERROR type `priv_dep::OtherType` from private dependency 'priv_dep' in public interface [leaked_private_dependency]
//~| WARNING this was previously accepted

fn priv_fn(param: OtherType) {}
}

fn main() {}
25 changes: 25 additions & 0 deletions src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr
@@ -0,0 +1,25 @@
error: type `priv_dep::OtherType` from private dependency 'priv_dep' in public interface
--> $DIR/pub-priv1.rs:17:5
|
LL | pub field: OtherType,
| ^^^^^^^^^^^^^^^^^^^^
|
note: lint level defined here
--> $DIR/pub-priv1.rs:3:9
|
LL | #![deny(leaked_private_dependency)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #44663 <https://github.com/rust-lang/rust/issues/44663>

error: type `priv_dep::OtherType` from private dependency 'priv_dep' in public interface
--> $DIR/pub-priv1.rs:24:5
|
LL | pub fn pub_fn(param: OtherType) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #44663 <https://github.com/rust-lang/rust/issues/44663>

error: aborting due to 2 previous errors

0 comments on commit 93d872d

Please sign in to comment.