mod orange { mod green { fn bean(value: T) -> T { value } } fn brown() { green::bean::(false); // { dg-error "definition is private in this context" "" { target *-*-* } .-1 } let a = green::bean::(15); // { dg-error "definition is private in this context" "" { target *-*-* } .-1 } struct S; let s = green::bean(S); // { dg-error "definition is private in this context" "" { target *-*-* } .-1 } } }