Add UI test
This commit is contained in:
parent
23014b4036
commit
93d872dbc8
1
src/test/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs
Normal file
1
src/test/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs
Normal file
@ -0,0 +1 @@
|
||||
pub struct OtherType;
|
31
src/test/ui/privacy/pub-priv-dep/pub-priv1.rs
Normal file
31
src/test/ui/privacy/pub-priv-dep/pub-priv1.rs
Normal 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() {}
|
25
src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr
Normal file
25
src/test/ui/privacy/pub-priv-dep/pub-priv1.stderr
Normal 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user