Add UI test

This commit is contained in:
Aaron Hill 2019-01-13 18:50:24 -05:00
parent 23014b4036
commit 93d872dbc8
No known key found for this signature in database
GPG Key ID: B4087E510E98B164
3 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1 @@
pub struct OtherType;

View File

@ -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() {}

View File

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