Skip to content

Commit e315bbf

Browse files
test for reachable private impl
1 parent dfe3188 commit e315bbf

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
trait PrivTrait {
2+
fn priv_fn(&self);
3+
}
4+
5+
pub struct ImplPrivTrait;
6+
7+
impl PrivTrait for ImplPrivTrait {
8+
fn priv_fn(&self) {}
9+
}
10+
11+
pub struct Wrapper<T>(T);
12+
13+
pub trait PubTrait {
14+
fn pub_fn(&self);
15+
}
16+
17+
impl<T: PrivTrait> PubTrait for Wrapper<T> {
18+
fn pub_fn(&self) {
19+
self.0.priv_fn()
20+
}
21+
}

tests/ui/reachable/foreign-priv.rs

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// aux-build:foreign-priv-aux.rs
2+
// build-pass
3+
4+
#![crate_type = "lib"]
5+
6+
extern crate foreign_priv_aux;
7+
8+
use foreign_priv_aux::{ImplPrivTrait, PubTrait, Wrapper};
9+
10+
pub fn foo(x: Wrapper<ImplPrivTrait>) {
11+
x.pub_fn();
12+
}

0 commit comments

Comments
 (0)