rust/tests/ui/privacy/private-in-public-ill-forme...

38 lines
743 B
Rust

mod aliases_pub {
struct Priv;
mod m {
pub struct Pub3;
}
trait PrivTr {
type AssocAlias;
}
impl PrivTr for Priv {
type AssocAlias = m::Pub3;
}
impl <Priv as PrivTr>::AssocAlias {
//~^ ERROR no nominal type found for inherent implementation
pub fn f(arg: Priv) {} // private type `aliases_pub::Priv` in public interface
}
}
mod aliases_priv {
struct Priv;
struct Priv3;
trait PrivTr {
type AssocAlias;
}
impl PrivTr for Priv {
type AssocAlias = Priv3;
}
impl <Priv as PrivTr>::AssocAlias {
//~^ ERROR no nominal type found for inherent implementation
pub fn f(arg: Priv) {} // OK
}
}
fn main() {}