Rollup merge of #97254 - jhpratt:remove-crate-vis, r=cjgillot
Remove feature: `crate` visibility modifier FCP completed in #53120.
This commit is contained in:
commit
b73f1c77a7
17 changed files with 19 additions and 136 deletions
|
|
@ -1,20 +0,0 @@
|
|||
# `crate_visibility_modifier`
|
||||
|
||||
The tracking issue for this feature is: [#53120]
|
||||
|
||||
[#53120]: https://github.com/rust-lang/rust/issues/53120
|
||||
|
||||
-----
|
||||
|
||||
The `crate_visibility_modifier` feature allows the `crate` keyword to be used
|
||||
as a visibility modifier synonymous to `pub(crate)`, indicating that a type
|
||||
(function, _&c._) is to be visible to the entire enclosing crate, but not to
|
||||
other crates.
|
||||
|
||||
```rust
|
||||
#![feature(crate_visibility_modifier)]
|
||||
|
||||
crate struct Foo {
|
||||
bar: usize,
|
||||
}
|
||||
```
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
crate struct Bender { //~ ERROR `crate` visibility modifier is experimental
|
||||
earth: bool,
|
||||
fire: bool,
|
||||
air: bool,
|
||||
water: bool,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
error[E0658]: `crate` visibility modifier is experimental
|
||||
--> $DIR/feature-gate-crate_visibility_modifier.rs:1:1
|
||||
|
|
||||
LL | crate struct Bender {
|
||||
| ^^^^^
|
||||
|
|
||||
= note: see issue #53120 <https://github.com/rust-lang/rust/issues/53120> for more information
|
||||
= help: add `#![feature(crate_visibility_modifier)]` to the crate attributes to enable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
||||
|
|
@ -861,10 +861,8 @@ fn test_vis() {
|
|||
// VisibilityKind::Public
|
||||
assert_eq!(stringify_vis!(pub), "pub ");
|
||||
|
||||
// VisibilityKind::Crate
|
||||
assert_eq!(stringify_vis!(crate), "crate ");
|
||||
|
||||
// VisibilityKind::Restricted
|
||||
assert_eq!(stringify_vis!(pub(crate)), "pub(crate) ");
|
||||
assert_eq!(stringify_vis!(pub(self)), "pub(self) ");
|
||||
assert_eq!(stringify_vis!(pub(super)), "pub(super) ");
|
||||
assert_eq!(stringify_vis!(pub(in self)), "pub(self) ");
|
||||
|
|
|
|||
|
|
@ -545,7 +545,7 @@ pub fn eq_defaultness(l: Defaultness, r: Defaultness) -> bool {
|
|||
pub fn eq_vis(l: &Visibility, r: &Visibility) -> bool {
|
||||
use VisibilityKind::*;
|
||||
match (&l.kind, &r.kind) {
|
||||
(Public, Public) | (Inherited, Inherited) | (Crate(_), Crate(_)) => true,
|
||||
(Public, Public) | (Inherited, Inherited) => true,
|
||||
(Restricted { path: l, .. }, Restricted { path: r, .. }) => eq_path(l, r),
|
||||
_ => false,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1361,7 +1361,7 @@ pub(crate) fn format_struct_struct(
|
|||
|
||||
fn get_bytepos_after_visibility(vis: &ast::Visibility, default_span: Span) -> BytePos {
|
||||
match vis.kind {
|
||||
ast::VisibilityKind::Crate(..) | ast::VisibilityKind::Restricted { .. } => vis.span.hi(),
|
||||
ast::VisibilityKind::Restricted { .. } => vis.span.hi(),
|
||||
_ => default_span.lo(),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
use std::borrow::Cow;
|
||||
|
||||
use rustc_ast::ast::{
|
||||
self, Attribute, CrateSugar, MetaItem, MetaItemKind, NestedMetaItem, NodeId, Path, Visibility,
|
||||
self, Attribute, MetaItem, MetaItemKind, NestedMetaItem, NodeId, Path, Visibility,
|
||||
VisibilityKind,
|
||||
};
|
||||
use rustc_ast::ptr;
|
||||
|
|
@ -44,15 +44,7 @@ pub(crate) fn is_same_visibility(a: &Visibility, b: &Visibility) -> bool {
|
|||
VisibilityKind::Restricted { path: q, .. },
|
||||
) => pprust::path_to_string(p) == pprust::path_to_string(q),
|
||||
(VisibilityKind::Public, VisibilityKind::Public)
|
||||
| (VisibilityKind::Inherited, VisibilityKind::Inherited)
|
||||
| (
|
||||
VisibilityKind::Crate(CrateSugar::PubCrate),
|
||||
VisibilityKind::Crate(CrateSugar::PubCrate),
|
||||
)
|
||||
| (
|
||||
VisibilityKind::Crate(CrateSugar::JustCrate),
|
||||
VisibilityKind::Crate(CrateSugar::JustCrate),
|
||||
) => true,
|
||||
| (VisibilityKind::Inherited, VisibilityKind::Inherited) => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
|
@ -65,8 +57,6 @@ pub(crate) fn format_visibility(
|
|||
match vis.kind {
|
||||
VisibilityKind::Public => Cow::from("pub "),
|
||||
VisibilityKind::Inherited => Cow::from(""),
|
||||
VisibilityKind::Crate(CrateSugar::PubCrate) => Cow::from("pub(crate) "),
|
||||
VisibilityKind::Crate(CrateSugar::JustCrate) => Cow::from("crate "),
|
||||
VisibilityKind::Restricted { ref path, .. } => {
|
||||
let Path { ref segments, .. } = **path;
|
||||
let mut segments_iter = segments.iter().map(|seg| rewrite_ident(context, seg.ident));
|
||||
|
|
@ -75,7 +65,7 @@ pub(crate) fn format_visibility(
|
|||
.next()
|
||||
.expect("Non-global path in pub(restricted)?");
|
||||
}
|
||||
let is_keyword = |s: &str| s == "self" || s == "super";
|
||||
let is_keyword = |s: &str| s == "crate" || s == "self" || s == "super";
|
||||
let path = segments_iter.collect::<Vec<_>>().join("::");
|
||||
let in_str = if is_keyword(&path) { "" } else { "in " };
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue