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