e051a32311
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>
17 lines
419 B
Rust
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() {}
|