diff options
author | Michael Goulet <michael@errs.io> | 2023-05-08 21:43:03 +0000 |
---|---|---|
committer | Michael Goulet <michael@errs.io> | 2023-05-08 21:44:21 +0000 |
commit | e315bbf736acc6408955f48e2effb1645bf1a022 (patch) | |
tree | 0d47cd7f35308ba20924ffdf193f3a058df47499 /tests | |
parent | dfe31889e10e36eed53327d1ca624fbf21b475a5 (diff) | |
download | rust-e315bbf736acc6408955f48e2effb1645bf1a022.tar.gz |
test for reachable private impl
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ui/reachable/auxiliary/foreign-priv-aux.rs | 21 | ||||
-rw-r--r-- | tests/ui/reachable/foreign-priv.rs | 12 |
2 files changed, 33 insertions, 0 deletions
diff --git a/tests/ui/reachable/auxiliary/foreign-priv-aux.rs b/tests/ui/reachable/auxiliary/foreign-priv-aux.rs new file mode 100644 index 00000000000..10dc0861461 --- /dev/null +++ b/tests/ui/reachable/auxiliary/foreign-priv-aux.rs @@ -0,0 +1,21 @@ +trait PrivTrait { + fn priv_fn(&self); +} + +pub struct ImplPrivTrait; + +impl PrivTrait for ImplPrivTrait { + fn priv_fn(&self) {} +} + +pub struct Wrapper<T>(T); + +pub trait PubTrait { + fn pub_fn(&self); +} + +impl<T: PrivTrait> PubTrait for Wrapper<T> { + fn pub_fn(&self) { + self.0.priv_fn() + } +} diff --git a/tests/ui/reachable/foreign-priv.rs b/tests/ui/reachable/foreign-priv.rs new file mode 100644 index 00000000000..bf336b6be7a --- /dev/null +++ b/tests/ui/reachable/foreign-priv.rs @@ -0,0 +1,12 @@ +// aux-build:foreign-priv-aux.rs +// build-pass + +#![crate_type = "lib"] + +extern crate foreign_priv_aux; + +use foreign_priv_aux::{ImplPrivTrait, PubTrait, Wrapper}; + +pub fn foo(x: Wrapper<ImplPrivTrait>) { + x.pub_fn(); +} |