From 214b0f229395d4460cbcccf17d07cf687ff83b0a Mon Sep 17 00:00:00 2001 From: "Zack M. Davis" Date: Thu, 19 Oct 2017 14:43:47 -0700 Subject: `crate` shorthand visibility modifier With regrets, this breaks rustfmt and rls. This is in the matter of #45388. --- src/libsyntax/ast.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/libsyntax/ast.rs') diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index f445def9e03..1e9ac66d237 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -1787,10 +1787,19 @@ impl PolyTraitRef { } } +#[derive(Copy, Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)] +pub enum CrateSugar { + /// Source is `pub(crate)` + PubCrate, + + /// Source is (just) `crate` + JustCrate, +} + #[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)] pub enum Visibility { Public, - Crate(Span), + Crate(Span, CrateSugar), Restricted { path: P, id: NodeId }, Inherited, } -- cgit 1.4.1-3-g733a5