rust/tests/ui/privacy/issue-113860-2.rs
David Wood e051a32311
privacy: no nominal visibility for assoc fns
When `staged_api` is enabled, effective visibilities are computed earlier
and this can trigger an ICE in some cases.

In particular, if a impl of a trait method has a visibility then an error
will be reported for that, but when privacy invariants are being checked,
the effective visibility will still be greater than the nominal visbility
and that will trigger a `span_bug!`.

However, this invariant - that effective visibilites are limited to
nominal visibility - doesn't make sense for associated functions.

Signed-off-by: David Wood <david@davidtw.co>
2023-07-28 14:28:02 +01:00

17 lines
419 B
Rust

#![feature(staged_api)]
//~^ ERROR module has missing stability attribute
pub trait Trait {
//~^ ERROR trait has missing stability attribute
type X;
//~^ ERROR associated type has missing stability attribute
}
impl Trait for u8 {
//~^ ERROR implementation has missing stability attribute
pub(self) type X = Self;
//~^ ERROR visibility qualifiers are not permitted here [E0449]
}
fn main() {}