]> git.lizzy.rs Git - rust.git/commitdiff
Update ungrammar
authorJonas Schievink <jonasschievink@gmail.com>
Fri, 11 Jun 2021 16:12:51 +0000 (18:12 +0200)
committerJonas Schievink <jonasschievink@gmail.com>
Fri, 11 Jun 2021 16:34:30 +0000 (18:34 +0200)
43 files changed:
Cargo.lock
crates/ide/src/hover.rs
crates/ide_db/src/defs.rs
crates/mbe/src/tests/expand.rs
crates/parser/src/grammar/attributes.rs
crates/parser/src/syntax_kind/generated.rs
crates/syntax/src/ast/generated/nodes.rs
crates/syntax/src/ast/node_ext.rs
crates/syntax/test_data/parser/err/0005_attribute_recover.rast
crates/syntax/test_data/parser/err/0031_block_inner_attrs.rast
crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast
crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast
crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast
crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast
crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast
crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast
crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast
crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast
crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast
crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast
crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast
crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rast
crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast
crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast
crates/syntax/test_data/parser/inline/ok/0145_record_pat_field.rast
crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rast
crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast
crates/syntax/test_data/parser/inline/ok/0154_tuple_attrs.rast
crates/syntax/test_data/parser/ok/0006_inner_attributes.rast
crates/syntax/test_data/parser/ok/0008_mod_item.rast
crates/syntax/test_data/parser/ok/0011_outer_attribute.rast
crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rast
crates/syntax/test_data/parser/ok/0035_weird_exprs.rast
crates/syntax/test_data/parser/ok/0044_let_attrs.rast
crates/syntax/test_data/parser/ok/0045_block_attrs.rast
crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rast
crates/syntax/test_data/parser/ok/0051_parameter_attrs.rast
crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast
crates/syntax/test_data/parser/ok/0062_macro_2.0.rast
crates/syntax/test_data/parser/ok/0063_variadic_fun.rast
xtask/Cargo.toml
xtask/src/ast_src.rs

index ea2c1aed7ac39f068dd883d219ad5b61bb41ea31..12a096ff19f181d4e585a5dd165e32a8732aba07 100644 (file)
@@ -1802,9 +1802,9 @@ checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
 
 [[package]]
 name = "ungrammar"
-version = "1.13.0"
+version = "1.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76760314176cc2b94047af2f921b92c39f11a34dc05c43a3c2b0fc91cb22959f"
+checksum = "50ef6d7335c77ec3e4a7c4be74c2b9e4642569e94a4004c836f8cca71fede3a7"
 
 [[package]]
 name = "unicase"
index ed4f18e1f9d5d69e989073ff42ac518918102dde..1c6d36939b23ccee6012cba353e4632a2bf0ef44 100644 (file)
@@ -208,7 +208,7 @@ pub(crate) fn hover(
 }
 
 fn try_hover_for_attribute(token: &SyntaxToken) -> Option<RangeInfo<HoverResult>> {
-    let attr = token.ancestors().nth(1).and_then(ast::Attr::cast)?;
+    let attr = token.ancestors().find_map(ast::Attr::cast)?;
     let (path, tt) = attr.as_simple_call()?;
     if !tt.syntax().text_range().contains(token.text_range().start()) {
         return None;
index 1b69d72f91909d714fe7bc5d3e291615e95ef243..a54f2c3234053f39b1cd85dbee5975b97fbd3b4a 100644 (file)
@@ -369,7 +369,7 @@ pub fn classify(
             }
 
             if let Some(resolved) = sema.resolve_path(&path) {
-                if path.syntax().parent().and_then(ast::Attr::cast).is_some() {
+                if path.syntax().ancestors().find_map(ast::Attr::cast).is_some() {
                     if let PathResolution::Def(ModuleDef::Function(func)) = resolved {
                         if func.attrs(sema.db).by_key("proc_macro_attribute").exists() {
                             return Some(NameRefClass::Definition(resolved.into()));
index 5f173f5134c6bd13aa658c46ab563515485b03b9..75c88687c9db4bab7ad0dfdc7993ccff6ca7de92 100644 (file)
@@ -1846,16 +1846,17 @@ macro_rules! with_std { ($($i:item)*) => ($(#[cfg(feature = "std")]$i)*) }
     ATTR@0..21
       POUND@0..1 "#"
       L_BRACK@1..2 "["
-      PATH@2..5
-        PATH_SEGMENT@2..5
-          NAME_REF@2..5
-            IDENT@2..5 "cfg"
-      TOKEN_TREE@5..20
-        L_PAREN@5..6 "("
-        IDENT@6..13 "feature"
-        EQ@13..14 "="
-        STRING@14..19 "\"std\""
-        R_PAREN@19..20 ")"
+      META@2..20
+        PATH@2..5
+          PATH_SEGMENT@2..5
+            NAME_REF@2..5
+              IDENT@2..5 "cfg"
+        TOKEN_TREE@5..20
+          L_PAREN@5..6 "("
+          IDENT@6..13 "feature"
+          EQ@13..14 "="
+          STRING@14..19 "\"std\""
+          R_PAREN@19..20 ")"
       R_BRACK@20..21 "]"
     MOD_KW@21..24 "mod"
     NAME@24..25
@@ -1865,16 +1866,17 @@ macro_rules! with_std { ($($i:item)*) => ($(#[cfg(feature = "std")]$i)*) }
     ATTR@26..47
       POUND@26..27 "#"
       L_BRACK@27..28 "["
-      PATH@28..31
-        PATH_SEGMENT@28..31
-          NAME_REF@28..31
-            IDENT@28..31 "cfg"
-      TOKEN_TREE@31..46
-        L_PAREN@31..32 "("
-        IDENT@32..39 "feature"
-        EQ@39..40 "="
-        STRING@40..45 "\"std\""
-        R_PAREN@45..46 ")"
+      META@28..46
+        PATH@28..31
+          PATH_SEGMENT@28..31
+            NAME_REF@28..31
+              IDENT@28..31 "cfg"
+        TOKEN_TREE@31..46
+          L_PAREN@31..32 "("
+          IDENT@32..39 "feature"
+          EQ@39..40 "="
+          STRING@40..45 "\"std\""
+          R_PAREN@45..46 ")"
       R_BRACK@46..47 "]"
     MOD_KW@47..50 "mod"
     NAME@50..51
index b8242cd2f08b2e622206097900d970cdf71c39a9..a44c5e4841f0dda34ce8f7a311c500e412de972f 100644 (file)
@@ -13,6 +13,7 @@ pub(super) fn outer_attrs(p: &mut Parser) {
 }
 
 pub(super) fn meta(p: &mut Parser) {
+    let meta = p.start();
     paths::use_path(p);
 
     match p.current() {
@@ -25,6 +26,8 @@ pub(super) fn meta(p: &mut Parser) {
         T!['('] | T!['['] | T!['{'] => items::token_tree(p),
         _ => {}
     }
+
+    meta.complete(p, META);
 }
 
 fn attr(p: &mut Parser, inner: bool) {
index bcefd183a1af608d8d2629c5946a84cd4cdc5d46..5f10b82dee17e7f57bca08644a3317cc74875b09 100644 (file)
@@ -220,7 +220,7 @@ pub enum SyntaxKind {
     ITEM_LIST,
     ASSOC_ITEM_LIST,
     ATTR,
-    META_ITEM,
+    META,
     USE_TREE,
     USE_TREE_LIST,
     PATH,
index 9a88fdb56722a785d849a9de2b1467dfd01d5e69..702de59a97eb1dd6c5b15637689b5f55a636e9d6 100644 (file)
@@ -150,10 +150,7 @@ impl Attr {
     pub fn pound_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![#]) }
     pub fn excl_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![!]) }
     pub fn l_brack_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T!['[']) }
-    pub fn path(&self) -> Option<Path> { support::child(&self.syntax) }
-    pub fn eq_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![=]) }
-    pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
-    pub fn token_tree(&self) -> Option<TokenTree> { support::child(&self.syntax) }
+    pub fn meta(&self) -> Option<Meta> { support::child(&self.syntax) }
     pub fn r_brack_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![']']) }
 }
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -632,6 +629,16 @@ pub fn lifetime(&self) -> Option<Lifetime> { support::child(&self.syntax) }
     pub fn ty(&self) -> Option<Type> { support::child(&self.syntax) }
 }
 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
+pub struct Meta {
+    pub(crate) syntax: SyntaxNode,
+}
+impl Meta {
+    pub fn path(&self) -> Option<Path> { support::child(&self.syntax) }
+    pub fn eq_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![=]) }
+    pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
+    pub fn token_tree(&self) -> Option<TokenTree> { support::child(&self.syntax) }
+}
+#[derive(Debug, Clone, PartialEq, Eq, Hash)]
 pub struct ExprStmt {
     pub(crate) syntax: SyntaxNode,
 }
@@ -2072,6 +2079,17 @@ fn cast(syntax: SyntaxNode) -> Option<Self> {
     }
     fn syntax(&self) -> &SyntaxNode { &self.syntax }
 }
+impl AstNode for Meta {
+    fn can_cast(kind: SyntaxKind) -> bool { kind == META }
+    fn cast(syntax: SyntaxNode) -> Option<Self> {
+        if Self::can_cast(syntax.kind()) {
+            Some(Self { syntax })
+        } else {
+            None
+        }
+    }
+    fn syntax(&self) -> &SyntaxNode { &self.syntax }
+}
 impl AstNode for ExprStmt {
     fn can_cast(kind: SyntaxKind) -> bool { kind == EXPR_STMT }
     fn cast(syntax: SyntaxNode) -> Option<Self> {
@@ -3887,6 +3905,11 @@ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         std::fmt::Display::fmt(self.syntax(), f)
     }
 }
+impl std::fmt::Display for Meta {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        std::fmt::Display::fmt(self.syntax(), f)
+    }
+}
 impl std::fmt::Display for ExprStmt {
     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         std::fmt::Display::fmt(self.syntax(), f)
index a60bc5ad95d2a5ef94efc8e1ad8d5d809103db8d..3d27d2c1a32ee9a7ee97c78e743d27e93ac1c14e 100644 (file)
@@ -144,19 +144,20 @@ pub fn is_outer(&self) -> bool {
 
 impl ast::Attr {
     pub fn as_simple_atom(&self) -> Option<SmolStr> {
-        if self.eq_token().is_some() || self.token_tree().is_some() {
+        let meta = self.meta()?;
+        if meta.eq_token().is_some() || meta.token_tree().is_some() {
             return None;
         }
         self.simple_name()
     }
 
     pub fn as_simple_call(&self) -> Option<(SmolStr, ast::TokenTree)> {
-        let tt = self.token_tree()?;
+        let tt = self.meta()?.token_tree()?;
         Some((self.simple_name()?, tt))
     }
 
     pub fn simple_name(&self) -> Option<SmolStr> {
-        let path = self.path()?;
+        let path = self.meta()?.path()?;
         match (path.segment(), path.qualifier()) {
             (Some(segment), None) => Some(segment.syntax().first_token()?.text().into()),
             _ => None,
@@ -174,6 +175,18 @@ pub fn kind(&self) -> AttrKind {
             _ => AttrKind::Outer,
         }
     }
+
+    pub fn path(&self) -> Option<ast::Path> {
+        self.meta()?.path()
+    }
+
+    pub fn expr(&self) -> Option<ast::Expr> {
+        self.meta()?.expr()
+    }
+
+    pub fn token_tree(&self) -> Option<ast::TokenTree> {
+        self.meta()?.token_tree()
+    }
 }
 
 #[derive(Debug, Clone, PartialEq, Eq)]
index 4845a6563cb83c9bd4cfe1ff20faebba78091d0a..6202c8bfe76f630734b9daf5985acacf6b0ccd4b 100644 (file)
@@ -3,20 +3,21 @@ SOURCE_FILE@0..54
     ATTR@0..18
       POUND@0..1 "#"
       L_BRACK@1..2 "["
-      PATH@2..5
-        PATH_SEGMENT@2..5
-          NAME_REF@2..5
-            IDENT@2..5 "foo"
-      TOKEN_TREE@5..17
-        L_PAREN@5..6 "("
-        IDENT@6..9 "foo"
-        COMMA@9..10 ","
-        WHITESPACE@10..11 " "
-        PLUS@11..12 "+"
-        COMMA@12..13 ","
-        WHITESPACE@13..14 " "
-        INT_NUMBER@14..16 "92"
-        R_PAREN@16..17 ")"
+      META@2..17
+        PATH@2..5
+          PATH_SEGMENT@2..5
+            NAME_REF@2..5
+              IDENT@2..5 "foo"
+        TOKEN_TREE@5..17
+          L_PAREN@5..6 "("
+          IDENT@6..9 "foo"
+          COMMA@9..10 ","
+          WHITESPACE@10..11 " "
+          PLUS@11..12 "+"
+          COMMA@12..13 ","
+          WHITESPACE@13..14 " "
+          INT_NUMBER@14..16 "92"
+          R_PAREN@16..17 ")"
       R_BRACK@17..18 "]"
     WHITESPACE@18..19 "\n"
     FN_KW@19..21 "fn"
@@ -35,24 +36,25 @@ SOURCE_FILE@0..54
   ATTR@34..53
     POUND@34..35 "#"
     L_BRACK@35..36 "["
-    PATH@36..39
-      PATH_SEGMENT@36..39
-        NAME_REF@36..39
-          IDENT@36..39 "foo"
-    TOKEN_TREE@39..53
-      L_PAREN@39..40 "("
-      WHITESPACE@40..41 "\n"
-      FN_KW@41..43 "fn"
-      WHITESPACE@43..44 " "
-      IDENT@44..47 "foo"
-      TOKEN_TREE@47..49
-        L_PAREN@47..48 "("
-        R_PAREN@48..49 ")"
-      WHITESPACE@49..50 " "
-      TOKEN_TREE@50..53
-        L_CURLY@50..51 "{"
-        WHITESPACE@51..52 "\n"
-        R_CURLY@52..53 "}"
+    META@36..53
+      PATH@36..39
+        PATH_SEGMENT@36..39
+          NAME_REF@36..39
+            IDENT@36..39 "foo"
+      TOKEN_TREE@39..53
+        L_PAREN@39..40 "("
+        WHITESPACE@40..41 "\n"
+        FN_KW@41..43 "fn"
+        WHITESPACE@43..44 " "
+        IDENT@44..47 "foo"
+        TOKEN_TREE@47..49
+          L_PAREN@47..48 "("
+          R_PAREN@48..49 ")"
+        WHITESPACE@49..50 " "
+        TOKEN_TREE@50..53
+          L_CURLY@50..51 "{"
+          WHITESPACE@51..52 "\n"
+          R_CURLY@52..53 "}"
   WHITESPACE@53..54 "\n"
 error 53..53: expected R_PAREN
 error 53..53: expected `]`
index a443b37db17e47028eb0d45410d0531d9cf71ac0..8462797486fdefc32db80dbbd9122837a13bac1e 100644 (file)
@@ -27,14 +27,15 @@ SOURCE_FILE@0..350
             POUND@39..40 "#"
             BANG@40..41 "!"
             L_BRACK@41..42 "["
-            PATH@42..45
-              PATH_SEGMENT@42..45
-                NAME_REF@42..45
-                  IDENT@42..45 "doc"
-            TOKEN_TREE@45..82
-              L_PAREN@45..46 "("
-              STRING@46..81 "\"Inner attributes not ..."
-              R_PAREN@81..82 ")"
+            META@42..82
+              PATH@42..45
+                PATH_SEGMENT@42..45
+                  NAME_REF@42..45
+                    IDENT@42..45 "doc"
+              TOKEN_TREE@45..82
+                L_PAREN@45..46 "("
+                STRING@46..81 "\"Inner attributes not ..."
+                R_PAREN@81..82 ")"
             R_BRACK@82..83 "]"
           WHITESPACE@83..92 "\n        "
           COMMENT@92..122 "//! Nor are ModuleDoc ..."
@@ -57,28 +58,30 @@ SOURCE_FILE@0..350
               POUND@152..153 "#"
               BANG@153..154 "!"
               L_BRACK@154..155 "["
-              PATH@155..158
-                PATH_SEGMENT@155..158
-                  NAME_REF@155..158
-                    IDENT@155..158 "doc"
-              TOKEN_TREE@158..170
-                L_PAREN@158..159 "("
-                STRING@159..169 "\"Nor here\""
-                R_PAREN@169..170 ")"
+              META@155..170
+                PATH@155..158
+                  PATH_SEGMENT@155..158
+                    NAME_REF@155..158
+                      IDENT@155..158 "doc"
+                TOKEN_TREE@158..170
+                  L_PAREN@158..159 "("
+                  STRING@159..169 "\"Nor here\""
+                  R_PAREN@169..170 ")"
               R_BRACK@170..171 "]"
             WHITESPACE@171..180 "\n        "
             ATTR@180..212
               POUND@180..181 "#"
               BANG@181..182 "!"
               L_BRACK@182..183 "["
-              PATH@183..186
-                PATH_SEGMENT@183..186
-                  NAME_REF@183..186
-                    IDENT@183..186 "doc"
-              TOKEN_TREE@186..211
-                L_PAREN@186..187 "("
-                STRING@187..210 "\"We error on each attr\""
-                R_PAREN@210..211 ")"
+              META@183..211
+                PATH@183..186
+                  PATH_SEGMENT@183..186
+                    NAME_REF@183..186
+                      IDENT@183..186 "doc"
+                TOKEN_TREE@186..211
+                  L_PAREN@186..187 "("
+                  STRING@187..210 "\"We error on each attr\""
+                  R_PAREN@210..211 ")"
               R_BRACK@211..212 "]"
             WHITESPACE@212..221 "\n        "
             COMMENT@221..251 "//! Nor are ModuleDoc ..."
@@ -99,14 +102,15 @@ SOURCE_FILE@0..350
             POUND@283..284 "#"
             BANG@284..285 "!"
             L_BRACK@285..286 "["
-            PATH@286..289
-              PATH_SEGMENT@286..289
-                NAME_REF@286..289
-                  IDENT@286..289 "doc"
-            TOKEN_TREE@289..301
-              L_PAREN@289..290 "("
-              STRING@290..300 "\"Nor here\""
-              R_PAREN@300..301 ")"
+            META@286..301
+              PATH@286..289
+                PATH_SEGMENT@286..289
+                  NAME_REF@286..289
+                    IDENT@286..289 "doc"
+              TOKEN_TREE@289..301
+                L_PAREN@289..290 "("
+                STRING@290..300 "\"Nor here\""
+                R_PAREN@300..301 ")"
             R_BRACK@301..302 "]"
           WHITESPACE@302..311 "\n        "
           COMMENT@311..341 "//! Nor are ModuleDoc ..."
index 672dd054ac588b043d79bc2177bc0e1b0b04f710..b6209639d5b1b86fd844e268587e1a3b82399f93 100644 (file)
@@ -135,14 +135,15 @@ SOURCE_FILE@0..293
             ATTR@210..222
               POUND@210..211 "#"
               L_BRACK@211..212 "["
-              PATH@212..215
-                PATH_SEGMENT@212..215
-                  NAME_REF@212..215
-                    IDENT@212..215 "cfg"
-              TOKEN_TREE@215..221
-                L_PAREN@215..216 "("
-                IDENT@216..220 "test"
-                R_PAREN@220..221 ")"
+              META@212..221
+                PATH@212..215
+                  PATH_SEGMENT@212..215
+                    NAME_REF@212..215
+                      IDENT@212..215 "cfg"
+                TOKEN_TREE@215..221
+                  L_PAREN@215..216 "("
+                  IDENT@216..220 "test"
+                  R_PAREN@220..221 ")"
               R_BRACK@221..222 "]"
             WHITESPACE@222..231 "\n        "
             ATTR@231..232
index 33bb085e9186d42ed440225fc47173e2ec646793..84c8e9ee79b97fa8c689c95371c426a236a498da 100644 (file)
@@ -47,14 +47,15 @@ SOURCE_FILE@0..89
             ATTR@68..80
               POUND@68..69 "#"
               L_BRACK@69..70 "["
-              PATH@70..73
-                PATH_SEGMENT@70..73
-                  NAME_REF@70..73
-                    IDENT@70..73 "cfg"
-              TOKEN_TREE@73..79
-                L_PAREN@73..74 "("
-                IDENT@74..78 "test"
-                R_PAREN@78..79 ")"
+              META@70..79
+                PATH@70..73
+                  PATH_SEGMENT@70..73
+                    NAME_REF@70..73
+                      IDENT@70..73 "cfg"
+                TOKEN_TREE@73..79
+                  L_PAREN@73..74 "("
+                  IDENT@74..78 "test"
+                  R_PAREN@78..79 ")"
               R_BRACK@79..80 "]"
           WHITESPACE@80..85 "\n    "
           R_CURLY@85..86 "}"
index 8fd8d5e593abce5a02b69dda07b577f67b29fb82..7b8b7284f9c472ac240271a27a4585fda2c5939e 100644 (file)
@@ -15,10 +15,11 @@ SOURCE_FILE@0..48
         ATTR@14..18
           POUND@14..15 "#"
           L_BRACK@15..16 "["
-          PATH@16..17
-            PATH_SEGMENT@16..17
-              NAME_REF@16..17
-                IDENT@16..17 "A"
+          META@16..17
+            PATH@16..17
+              PATH_SEGMENT@16..17
+                NAME_REF@16..17
+                  IDENT@16..17 "A"
           R_BRACK@17..18 "]"
         WHITESPACE@18..19 " "
         BIN_EXPR@19..24
@@ -35,10 +36,11 @@ SOURCE_FILE@0..48
         ATTR@29..33
           POUND@29..30 "#"
           L_BRACK@30..31 "["
-          PATH@31..32
-            PATH_SEGMENT@31..32
-              NAME_REF@31..32
-                IDENT@31..32 "B"
+          META@31..32
+            PATH@31..32
+              PATH_SEGMENT@31..32
+                NAME_REF@31..32
+                  IDENT@31..32 "B"
           R_BRACK@32..33 "]"
         WHITESPACE@33..34 " "
         IF_EXPR@34..44
index 9ae271817e95562f713bcc7d8def8c60829a4aea..402950bcc94a9dacfb50461ae7e0ffcebf951b17 100644 (file)
@@ -12,18 +12,19 @@ SOURCE_FILE@0..64
         ATTR@15..43
           POUND@15..16 "#"
           L_BRACK@16..17 "["
-          PATH@17..22
-            PATH_SEGMENT@17..22
-              NAME_REF@17..22
-                IDENT@17..22 "serde"
-          TOKEN_TREE@22..42
-            L_PAREN@22..23 "("
-            IDENT@23..27 "with"
-            WHITESPACE@27..28 " "
-            EQ@28..29 "="
-            WHITESPACE@29..30 " "
-            STRING@30..41 "\"url_serde\""
-            R_PAREN@41..42 ")"
+          META@17..42
+            PATH@17..22
+              PATH_SEGMENT@17..22
+                NAME_REF@17..22
+                  IDENT@17..22 "serde"
+            TOKEN_TREE@22..42
+              L_PAREN@22..23 "("
+              IDENT@23..27 "with"
+              WHITESPACE@27..28 " "
+              EQ@28..29 "="
+              WHITESPACE@29..30 " "
+              STRING@30..41 "\"url_serde\""
+              R_PAREN@41..42 ")"
           R_BRACK@42..43 "]"
         WHITESPACE@43..48 "\n    "
         VISIBILITY@48..51
index 4d09c9f50f31c238c0717c9c27a49e7e82930689..db2b645b067bda784eda1bb2fbacc29302d4be7f 100644 (file)
@@ -12,18 +12,19 @@ SOURCE_FILE@0..60
         ATTR@15..43
           POUND@15..16 "#"
           L_BRACK@16..17 "["
-          PATH@17..22
-            PATH_SEGMENT@17..22
-              NAME_REF@17..22
-                IDENT@17..22 "serde"
-          TOKEN_TREE@22..42
-            L_PAREN@22..23 "("
-            IDENT@23..27 "with"
-            WHITESPACE@27..28 " "
-            EQ@28..29 "="
-            WHITESPACE@29..30 " "
-            STRING@30..41 "\"url_serde\""
-            R_PAREN@41..42 ")"
+          META@17..42
+            PATH@17..22
+              PATH_SEGMENT@17..22
+                NAME_REF@17..22
+                  IDENT@17..22 "serde"
+            TOKEN_TREE@22..42
+              L_PAREN@22..23 "("
+              IDENT@23..27 "with"
+              WHITESPACE@27..28 " "
+              EQ@28..29 "="
+              WHITESPACE@29..30 " "
+              STRING@30..41 "\"url_serde\""
+              R_PAREN@41..42 ")"
           R_BRACK@42..43 "]"
         WHITESPACE@43..48 "\n    "
         VISIBILITY@48..51
index 141a7b2035f2824decb0e0db1658cae464a67358..24ac1d66a4f3e20dfb77779fb3effc49efd283e9 100644 (file)
@@ -26,14 +26,15 @@ SOURCE_FILE@0..94
         POUND@54..55 "#"
         BANG@55..56 "!"
         L_BRACK@56..57 "["
-        PATH@57..60
-          PATH_SEGMENT@57..60
-            NAME_REF@57..60
-              IDENT@57..60 "doc"
-        TOKEN_TREE@60..90
-          L_PAREN@60..61 "("
-          STRING@61..89 "\"This is also a doc c ..."
-          R_PAREN@89..90 ")"
+        META@57..90
+          PATH@57..60
+            PATH_SEGMENT@57..60
+              NAME_REF@57..60
+                IDENT@57..60 "doc"
+          TOKEN_TREE@60..90
+            L_PAREN@60..61 "("
+            STRING@61..89 "\"This is also a doc c ..."
+            R_PAREN@89..90 ")"
         R_BRACK@90..91 "]"
       WHITESPACE@91..92 "\n"
       R_CURLY@92..93 "}"
index ec7a00f1db8ac77453f9fcab1eba7922b93cd580..7fbeee2035be1e198991565187ed68cff093714b 100644 (file)
@@ -25,42 +25,45 @@ SOURCE_FILE@0..139
             POUND@34..35 "#"
             BANG@35..36 "!"
             L_BRACK@36..37 "["
-            PATH@37..40
-              PATH_SEGMENT@37..40
-                NAME_REF@37..40
-                  IDENT@37..40 "doc"
-            TOKEN_TREE@40..59
-              L_PAREN@40..41 "("
-              STRING@41..58 "\"Inner attribute\""
-              R_PAREN@58..59 ")"
+            META@37..59
+              PATH@37..40
+                PATH_SEGMENT@37..40
+                  NAME_REF@37..40
+                    IDENT@37..40 "doc"
+              TOKEN_TREE@40..59
+                L_PAREN@40..41 "("
+                STRING@41..58 "\"Inner attribute\""
+                R_PAREN@58..59 ")"
             R_BRACK@59..60 "]"
           WHITESPACE@60..69 "\n        "
           ATTR@69..86
             POUND@69..70 "#"
             BANG@70..71 "!"
             L_BRACK@71..72 "["
-            PATH@72..75
-              PATH_SEGMENT@72..75
-                NAME_REF@72..75
-                  IDENT@72..75 "doc"
-            TOKEN_TREE@75..85
-              L_PAREN@75..76 "("
-              STRING@76..84 "\"Can be\""
-              R_PAREN@84..85 ")"
+            META@72..85
+              PATH@72..75
+                PATH_SEGMENT@72..75
+                  NAME_REF@72..75
+                    IDENT@72..75 "doc"
+              TOKEN_TREE@75..85
+                L_PAREN@75..76 "("
+                STRING@76..84 "\"Can be\""
+                R_PAREN@84..85 ")"
             R_BRACK@85..86 "]"
           WHITESPACE@86..95 "\n        "
           ATTR@95..113
             POUND@95..96 "#"
             BANG@96..97 "!"
             L_BRACK@97..98 "["
-            PATH@98..101
-              PATH_SEGMENT@98..101
-                NAME_REF@98..101
-                  IDENT@98..101 "doc"
-            TOKEN_TREE@101..112
-              L_PAREN@101..102 "("
-              STRING@102..111 "\"Stacked\""
-              R_PAREN@111..112 ")"
+            META@98..112
+              PATH@98..101
+                PATH_SEGMENT@98..101
+                  NAME_REF@98..101
+                    IDENT@98..101 "doc"
+              TOKEN_TREE@101..112
+                L_PAREN@101..102 "("
+                STRING@102..111 "\"Stacked\""
+                R_PAREN@111..112 ")"
             R_BRACK@112..113 "]"
           WHITESPACE@113..122 "\n        "
           MATCH_ARM@122..129
index 97924da0526f532ba6c1b30161ab38ebb704b2b6..40852f514097a1c6a787bf074f367a8875f4584f 100644 (file)
@@ -25,18 +25,19 @@ SOURCE_FILE@0..259
             ATTR@34..58
               POUND@34..35 "#"
               L_BRACK@35..36 "["
-              PATH@36..39
-                PATH_SEGMENT@36..39
-                  NAME_REF@36..39
-                    IDENT@36..39 "cfg"
-              TOKEN_TREE@39..57
-                L_PAREN@39..40 "("
-                IDENT@40..47 "feature"
-                WHITESPACE@47..48 " "
-                EQ@48..49 "="
-                WHITESPACE@49..50 " "
-                STRING@50..56 "\"some\""
-                R_PAREN@56..57 ")"
+              META@36..57
+                PATH@36..39
+                  PATH_SEGMENT@36..39
+                    NAME_REF@36..39
+                      IDENT@36..39 "cfg"
+                TOKEN_TREE@39..57
+                  L_PAREN@39..40 "("
+                  IDENT@40..47 "feature"
+                  WHITESPACE@47..48 " "
+                  EQ@48..49 "="
+                  WHITESPACE@49..50 " "
+                  STRING@50..56 "\"some\""
+                  R_PAREN@56..57 ")"
               R_BRACK@57..58 "]"
             WHITESPACE@58..67 "\n        "
             WILDCARD_PAT@67..68
@@ -53,18 +54,19 @@ SOURCE_FILE@0..259
             ATTR@84..109
               POUND@84..85 "#"
               L_BRACK@85..86 "["
-              PATH@86..89
-                PATH_SEGMENT@86..89
-                  NAME_REF@86..89
-                    IDENT@86..89 "cfg"
-              TOKEN_TREE@89..108
-                L_PAREN@89..90 "("
-                IDENT@90..97 "feature"
-                WHITESPACE@97..98 " "
-                EQ@98..99 "="
-                WHITESPACE@99..100 " "
-                STRING@100..107 "\"other\""
-                R_PAREN@107..108 ")"
+              META@86..108
+                PATH@86..89
+                  PATH_SEGMENT@86..89
+                    NAME_REF@86..89
+                      IDENT@86..89 "cfg"
+                TOKEN_TREE@89..108
+                  L_PAREN@89..90 "("
+                  IDENT@90..97 "feature"
+                  WHITESPACE@97..98 " "
+                  EQ@98..99 "="
+                  WHITESPACE@99..100 " "
+                  STRING@100..107 "\"other\""
+                  R_PAREN@107..108 ")"
               R_BRACK@108..109 "]"
             WHITESPACE@109..118 "\n        "
             WILDCARD_PAT@118..119
@@ -81,52 +83,55 @@ SOURCE_FILE@0..259
             ATTR@135..159
               POUND@135..136 "#"
               L_BRACK@136..137 "["
-              PATH@137..140
-                PATH_SEGMENT@137..140
-                  NAME_REF@137..140
-                    IDENT@137..140 "cfg"
-              TOKEN_TREE@140..158
-                L_PAREN@140..141 "("
-                IDENT@141..148 "feature"
-                WHITESPACE@148..149 " "
-                EQ@149..150 "="
-                WHITESPACE@150..151 " "
-                STRING@151..157 "\"many\""
-                R_PAREN@157..158 ")"
+              META@137..158
+                PATH@137..140
+                  PATH_SEGMENT@137..140
+                    NAME_REF@137..140
+                      IDENT@137..140 "cfg"
+                TOKEN_TREE@140..158
+                  L_PAREN@140..141 "("
+                  IDENT@141..148 "feature"
+                  WHITESPACE@148..149 " "
+                  EQ@149..150 "="
+                  WHITESPACE@150..151 " "
+                  STRING@151..157 "\"many\""
+                  R_PAREN@157..158 ")"
               R_BRACK@158..159 "]"
             WHITESPACE@159..168 "\n        "
             ATTR@168..198
               POUND@168..169 "#"
               L_BRACK@169..170 "["
-              PATH@170..173
-                PATH_SEGMENT@170..173
-                  NAME_REF@170..173
-                    IDENT@170..173 "cfg"
-              TOKEN_TREE@173..197
-                L_PAREN@173..174 "("
-                IDENT@174..181 "feature"
-                WHITESPACE@181..182 " "
-                EQ@182..183 "="
-                WHITESPACE@183..184 " "
-                STRING@184..196 "\"attributes\""
-                R_PAREN@196..197 ")"
+              META@170..197
+                PATH@170..173
+                  PATH_SEGMENT@170..173
+                    NAME_REF@170..173
+                      IDENT@170..173 "cfg"
+                TOKEN_TREE@173..197
+                  L_PAREN@173..174 "("
+                  IDENT@174..181 "feature"
+                  WHITESPACE@181..182 " "
+                  EQ@182..183 "="
+                  WHITESPACE@183..184 " "
+                  STRING@184..196 "\"attributes\""
+                  R_PAREN@196..197 ")"
               R_BRACK@197..198 "]"
             WHITESPACE@198..207 "\n        "
             ATTR@207..233
               POUND@207..208 "#"
               L_BRACK@208..209 "["
-              PATH@209..212
-                PATH_SEGMENT@209..212
-                  NAME_REF@209..212
-                    IDENT@209..212 "cfg"
-              TOKEN_TREE@212..232
-                L_PAREN@212..213 "("
-                IDENT@213..220 "feature"
-                WHITESPACE@220..221 " "
-                EQ@221..222 "="
-                WHITESPACE@222..223 " "
-                STRING@223..231 "\"before\""
-                R_PAREN@231..232 ")"
+              META@209..232
+                PATH@209..212
+                  PATH_SEGMENT@209..212
+                    NAME_REF@209..212
+                      IDENT@209..212 "cfg"
+                TOKEN_TREE@212..232
+                  L_PAREN@212..213 "("
+                  IDENT@213..220 "feature"
+                  WHITESPACE@220..221 " "
+                  EQ@221..222 "="
+                  WHITESPACE@222..223 " "
+                  STRING@223..231 "\"before\""
+                  R_PAREN@231..232 ")"
               R_BRACK@232..233 "]"
             WHITESPACE@233..242 "\n        "
             WILDCARD_PAT@242..243
index 616aa984ed2a2ba038f2e560da48f3a373bc1a5e..8401813838715b6167723b06153d070f327cceeb 100644 (file)
@@ -10,14 +10,15 @@ SOURCE_FILE@0..64
         ATTR@7..26
           POUND@7..8 "#"
           L_BRACK@8..9 "["
-          PATH@9..15
-            PATH_SEGMENT@9..15
-              NAME_REF@9..15
-                IDENT@9..15 "derive"
-          TOKEN_TREE@15..25
-            L_PAREN@15..16 "("
-            IDENT@16..24 "Lifetime"
-            R_PAREN@24..25 ")"
+          META@9..25
+            PATH@9..15
+              PATH_SEGMENT@9..15
+                NAME_REF@9..15
+                  IDENT@9..15 "derive"
+            TOKEN_TREE@15..25
+              L_PAREN@15..16 "("
+              IDENT@16..24 "Lifetime"
+              R_PAREN@24..25 ")"
           R_BRACK@25..26 "]"
         WHITESPACE@26..27 " "
         LIFETIME@27..29
@@ -28,14 +29,15 @@ SOURCE_FILE@0..64
         ATTR@31..46
           POUND@31..32 "#"
           L_BRACK@32..33 "["
-          PATH@33..39
-            PATH_SEGMENT@33..39
-              NAME_REF@33..39
-                IDENT@33..39 "derive"
-          TOKEN_TREE@39..45
-            L_PAREN@39..40 "("
-            IDENT@40..44 "Type"
-            R_PAREN@44..45 ")"
+          META@33..45
+            PATH@33..39
+              PATH_SEGMENT@33..39
+                NAME_REF@33..39
+                  IDENT@33..39 "derive"
+            TOKEN_TREE@39..45
+              L_PAREN@39..40 "("
+              IDENT@40..44 "Type"
+              R_PAREN@44..45 ")"
           R_BRACK@45..46 "]"
         WHITESPACE@46..47 " "
         NAME@47..48
index 54ea2c7c669672a363c047e1f57c58e3e9c46e88..5e82214c0e0204dd3efe6e864891c2a55b74456a 100644 (file)
@@ -24,14 +24,15 @@ SOURCE_FILE@0..46
             ATTR@20..32
               POUND@20..21 "#"
               L_BRACK@21..22 "["
-              PATH@22..25
-                PATH_SEGMENT@22..25
-                  NAME_REF@22..25
-                    IDENT@22..25 "cfg"
-              TOKEN_TREE@25..31
-                L_PAREN@25..26 "("
-                IDENT@26..30 "test"
-                R_PAREN@30..31 ")"
+              META@22..31
+                PATH@22..25
+                  PATH_SEGMENT@22..25
+                    NAME_REF@22..25
+                      IDENT@22..25 "cfg"
+                TOKEN_TREE@25..31
+                  L_PAREN@25..26 "("
+                  IDENT@26..30 "test"
+                  R_PAREN@30..31 ")"
               R_BRACK@31..32 "]"
             WHITESPACE@32..33 " "
             NAME_REF@33..38
index 0342e64f396c89face1fef50582e5e2907923540..178204fece41156ca88dadf1ed89c9771ab050fa 100644 (file)
@@ -15,10 +15,11 @@ SOURCE_FILE@0..82
         ATTR@15..19
           POUND@15..16 "#"
           L_BRACK@16..17 "["
-          PATH@17..18
-            PATH_SEGMENT@17..18
-              NAME_REF@17..18
-                IDENT@17..18 "A"
+          META@17..18
+            PATH@17..18
+              PATH_SEGMENT@17..18
+                NAME_REF@17..18
+                  IDENT@17..18 "A"
           R_BRACK@18..19 "]"
         WHITESPACE@19..20 " "
         CALL_EXPR@20..25
@@ -36,10 +37,11 @@ SOURCE_FILE@0..82
         ATTR@31..35
           POUND@31..32 "#"
           L_BRACK@32..33 "["
-          PATH@33..34
-            PATH_SEGMENT@33..34
-              NAME_REF@33..34
-                IDENT@33..34 "B"
+          META@33..34
+            PATH@33..34
+              PATH_SEGMENT@33..34
+                NAME_REF@33..34
+                  IDENT@33..34 "B"
           R_BRACK@34..35 "]"
         WHITESPACE@35..36 " "
         MACRO_CALL@36..42
@@ -56,19 +58,21 @@ SOURCE_FILE@0..82
         ATTR@47..51
           POUND@47..48 "#"
           L_BRACK@48..49 "["
-          PATH@49..50
-            PATH_SEGMENT@49..50
-              NAME_REF@49..50
-                IDENT@49..50 "C"
+          META@49..50
+            PATH@49..50
+              PATH_SEGMENT@49..50
+                NAME_REF@49..50
+                  IDENT@49..50 "C"
           R_BRACK@50..51 "]"
         WHITESPACE@51..52 " "
         ATTR@52..56
           POUND@52..53 "#"
           L_BRACK@53..54 "["
-          PATH@54..55
-            PATH_SEGMENT@54..55
-              NAME_REF@54..55
-                IDENT@54..55 "D"
+          META@54..55
+            PATH@54..55
+              PATH_SEGMENT@54..55
+                NAME_REF@54..55
+                  IDENT@54..55 "D"
           R_BRACK@55..56 "]"
         WHITESPACE@56..57 " "
         BLOCK_EXPR@57..59
@@ -79,10 +83,11 @@ SOURCE_FILE@0..82
         ATTR@64..68
           POUND@64..65 "#"
           L_BRACK@65..66 "["
-          PATH@66..67
-            PATH_SEGMENT@66..67
-              NAME_REF@66..67
-                IDENT@66..67 "D"
+          META@66..67
+            PATH@66..67
+              PATH_SEGMENT@66..67
+                NAME_REF@66..67
+                  IDENT@66..67 "D"
           R_BRACK@67..68 "]"
         WHITESPACE@68..69 " "
         RETURN_EXPR@69..78
index 3b46e5b479d7f543ab1adff8def1b72e68db1775..9daac234ac8744db2ee853bb30f1d8b0cde764dd 100644 (file)
@@ -19,10 +19,11 @@ SOURCE_FILE@0..47
             ATTR@17..21
               POUND@17..18 "#"
               L_BRACK@18..19 "["
-              PATH@19..20
-                PATH_SEGMENT@19..20
-                  NAME_REF@19..20
-                    IDENT@19..20 "A"
+              META@19..20
+                PATH@19..20
+                  PATH_SEGMENT@19..20
+                    NAME_REF@19..20
+                      IDENT@19..20 "A"
               R_BRACK@20..21 "]"
             WHITESPACE@21..22 " "
             MACRO_CALL@22..28
@@ -42,10 +43,11 @@ SOURCE_FILE@0..47
         ATTR@36..40
           POUND@36..37 "#"
           L_BRACK@37..38 "["
-          PATH@38..39
-            PATH_SEGMENT@38..39
-              NAME_REF@38..39
-                IDENT@38..39 "B"
+          META@38..39
+            PATH@38..39
+              PATH_SEGMENT@38..39
+                NAME_REF@38..39
+                  IDENT@38..39 "B"
           R_BRACK@39..40 "]"
         WHITESPACE@40..41 " "
         AMP@41..42 "&"
index 4c07cefa6d77b25cabfb30e22aa12949fd54ef4d..c3a79836aa3a87ae9e60fbb1f926d0ad0162fba8 100644 (file)
@@ -109,10 +109,11 @@ SOURCE_FILE@0..135
           ATTR@120..127
             POUND@120..121 "#"
             L_BRACK@121..122 "["
-            PATH@122..126
-              PATH_SEGMENT@122..126
-                NAME_REF@122..126
-                  IDENT@122..126 "attr"
+            META@122..126
+              PATH@122..126
+                PATH_SEGMENT@122..126
+                  NAME_REF@122..126
+                    IDENT@122..126 "attr"
             R_BRACK@126..127 "]"
           PARAM_LIST@127..129
             PIPE@127..128 "|"
index c54e64e3f978541e5aadc2840205744e9638d903..891eace5995a16f9bc03476dc17776cf75370002 100644 (file)
@@ -10,10 +10,11 @@ SOURCE_FILE@0..26
         ATTR@5..16
           POUND@5..6 "#"
           L_BRACK@6..7 "["
-          PATH@7..15
-            PATH_SEGMENT@7..15
-              NAME_REF@7..15
-                IDENT@7..15 "must_use"
+          META@7..15
+            PATH@7..15
+              PATH_SEGMENT@7..15
+                NAME_REF@7..15
+                  IDENT@7..15 "must_use"
           R_BRACK@15..16 "]"
         WHITESPACE@16..17 " "
         NAME@17..21
index a84088bf30dd0b6d96660a5f0bdc766c0e4cd82c..a363e592b7aadde9c6cff53bdb0f4313c7b0e965 100644 (file)
@@ -10,10 +10,11 @@ SOURCE_FILE@0..28
         ATTR@5..13
           POUND@5..6 "#"
           L_BRACK@6..7 "["
-          PATH@7..12
-            PATH_SEGMENT@7..12
-              NAME_REF@7..12
-                IDENT@7..12 "attr1"
+          META@7..12
+            PATH@7..12
+              PATH_SEGMENT@7..12
+                NAME_REF@7..12
+                  IDENT@7..12 "attr1"
           R_BRACK@12..13 "]"
         WHITESPACE@13..14 " "
         IDENT_PAT@14..17
index e9202a612e6d689506b232cc149a2faf61bc85a4..c606a7c9b04516b23476e942538536aad68b922c 100644 (file)
@@ -87,17 +87,18 @@ SOURCE_FILE@0..102
               ATTR@73..86
                 POUND@73..74 "#"
                 L_BRACK@74..75 "["
-                PATH@75..78
-                  PATH_SEGMENT@75..78
-                    NAME_REF@75..78
-                      IDENT@75..78 "cfg"
-                TOKEN_TREE@78..85
-                  L_PAREN@78..79 "("
-                  IDENT@79..82 "any"
-                  TOKEN_TREE@82..84
-                    L_PAREN@82..83 "("
-                    R_PAREN@83..84 ")"
-                  R_PAREN@84..85 ")"
+                META@75..85
+                  PATH@75..78
+                    PATH_SEGMENT@75..78
+                      NAME_REF@75..78
+                        IDENT@75..78 "cfg"
+                  TOKEN_TREE@78..85
+                    L_PAREN@78..79 "("
+                    IDENT@79..82 "any"
+                    TOKEN_TREE@82..84
+                      L_PAREN@82..83 "("
+                      R_PAREN@83..84 ")"
+                    R_PAREN@84..85 ")"
                 R_BRACK@85..86 "]"
               WHITESPACE@86..87 " "
               NAME_REF@87..88
index f284aafcdfdc6997b2a206d4d07b19afd3142773..26cdc2945ae90cc52d9654b78c48a64c79c34803 100644 (file)
@@ -31,14 +31,15 @@ SOURCE_FILE@0..40
           ATTR@23..35
             POUND@23..24 "#"
             L_BRACK@24..25 "["
-            PATH@25..28
-              PATH_SEGMENT@25..28
-                NAME_REF@25..28
-                  IDENT@25..28 "cfg"
-            TOKEN_TREE@28..34
-              L_PAREN@28..29 "("
-              IDENT@29..33 "test"
-              R_PAREN@33..34 ")"
+            META@25..34
+              PATH@25..28
+                PATH_SEGMENT@25..28
+                  NAME_REF@25..28
+                    IDENT@25..28 "cfg"
+              TOKEN_TREE@28..34
+                L_PAREN@28..29 "("
+                IDENT@29..33 "test"
+                R_PAREN@33..34 ")"
             R_BRACK@34..35 "]"
           WHITESPACE@35..36 " "
           INT_NUMBER@36..37 "2"
index 2905c5f1a5daaed5d3581929d069907580b9d6c5..1d20765b03360a9ee10ecd031db5e307dae8469f 100644 (file)
@@ -23,10 +23,11 @@ SOURCE_FILE@0..34
             ATTR@20..27
               POUND@20..21 "#"
               L_BRACK@21..22 "["
-              PATH@22..26
-                PATH_SEGMENT@22..26
-                  NAME_REF@22..26
-                    IDENT@22..26 "attr"
+              META@22..26
+                PATH@22..26
+                  PATH_SEGMENT@22..26
+                    NAME_REF@22..26
+                      IDENT@22..26 "attr"
               R_BRACK@26..27 "]"
             WHITESPACE@27..28 " "
             INT_NUMBER@28..30 "92"
index d34b21abe8804444a98ec6b63af78582903b4d4d..3b6612677fab99f37c98cad34a7924b84e560c6f 100644 (file)
@@ -34,14 +34,15 @@ SOURCE_FILE@0..43
         ATTR@26..38
           POUND@26..27 "#"
           L_BRACK@27..28 "["
-          PATH@28..31
-            PATH_SEGMENT@28..31
-              NAME_REF@28..31
-                IDENT@28..31 "cfg"
-          TOKEN_TREE@31..37
-            L_PAREN@31..32 "("
-            IDENT@32..36 "test"
-            R_PAREN@36..37 ")"
+          META@28..37
+            PATH@28..31
+              PATH_SEGMENT@28..31
+                NAME_REF@28..31
+                  IDENT@28..31 "cfg"
+            TOKEN_TREE@31..37
+              L_PAREN@31..32 "("
+              IDENT@32..36 "test"
+              R_PAREN@36..37 ")"
           R_BRACK@37..38 "]"
         WHITESPACE@38..39 " "
         INT_NUMBER@39..40 "2"
index 42587243a96028c9ee537bfdd93dd4f643f797f7..be2d1dc123e14e77ef61fad1ec95e2c3946b4dd5 100644 (file)
@@ -3,182 +3,192 @@ SOURCE_FILE@0..236
     POUND@0..1 "#"
     BANG@1..2 "!"
     L_BRACK@2..3 "["
-    PATH@3..7
-      PATH_SEGMENT@3..7
-        NAME_REF@3..7
-          IDENT@3..7 "attr"
+    META@3..7
+      PATH@3..7
+        PATH_SEGMENT@3..7
+          NAME_REF@3..7
+            IDENT@3..7 "attr"
     R_BRACK@7..8 "]"
   WHITESPACE@8..9 "\n"
   ATTR@9..23
     POUND@9..10 "#"
     BANG@10..11 "!"
     L_BRACK@11..12 "["
-    PATH@12..16
-      PATH_SEGMENT@12..16
-        NAME_REF@12..16
-          IDENT@12..16 "attr"
-    TOKEN_TREE@16..22
-      L_PAREN@16..17 "("
-      TRUE_KW@17..21 "true"
-      R_PAREN@21..22 ")"
+    META@12..22
+      PATH@12..16
+        PATH_SEGMENT@12..16
+          NAME_REF@12..16
+            IDENT@12..16 "attr"
+      TOKEN_TREE@16..22
+        L_PAREN@16..17 "("
+        TRUE_KW@17..21 "true"
+        R_PAREN@21..22 ")"
     R_BRACK@22..23 "]"
   WHITESPACE@23..24 "\n"
   ATTR@24..39
     POUND@24..25 "#"
     BANG@25..26 "!"
     L_BRACK@26..27 "["
-    PATH@27..31
-      PATH_SEGMENT@27..31
-        NAME_REF@27..31
-          IDENT@27..31 "attr"
-    TOKEN_TREE@31..38
-      L_PAREN@31..32 "("
-      IDENT@32..37 "ident"
-      R_PAREN@37..38 ")"
+    META@27..38
+      PATH@27..31
+        PATH_SEGMENT@27..31
+          NAME_REF@27..31
+            IDENT@27..31 "attr"
+      TOKEN_TREE@31..38
+        L_PAREN@31..32 "("
+        IDENT@32..37 "ident"
+        R_PAREN@37..38 ")"
     R_BRACK@38..39 "]"
   WHITESPACE@39..40 "\n"
   ATTR@40..116
     POUND@40..41 "#"
     BANG@41..42 "!"
     L_BRACK@42..43 "["
-    PATH@43..47
-      PATH_SEGMENT@43..47
-        NAME_REF@43..47
-          IDENT@43..47 "attr"
-    TOKEN_TREE@47..115
-      L_PAREN@47..48 "("
-      IDENT@48..53 "ident"
-      COMMA@53..54 ","
-      WHITESPACE@54..55 " "
-      INT_NUMBER@55..58 "100"
-      COMMA@58..59 ","
-      WHITESPACE@59..60 " "
-      TRUE_KW@60..64 "true"
-      COMMA@64..65 ","
-      WHITESPACE@65..66 " "
-      STRING@66..72 "\"true\""
-      COMMA@72..73 ","
-      WHITESPACE@73..74 " "
-      IDENT@74..79 "ident"
-      WHITESPACE@79..80 " "
-      EQ@80..81 "="
-      WHITESPACE@81..82 " "
-      INT_NUMBER@82..85 "100"
-      COMMA@85..86 ","
-      WHITESPACE@86..87 " "
-      IDENT@87..92 "ident"
-      WHITESPACE@92..93 " "
-      EQ@93..94 "="
-      WHITESPACE@94..95 " "
-      STRING@95..102 "\"hello\""
-      COMMA@102..103 ","
-      WHITESPACE@103..104 " "
-      IDENT@104..109 "ident"
-      TOKEN_TREE@109..114
-        L_PAREN@109..110 "("
-        INT_NUMBER@110..113 "100"
-        R_PAREN@113..114 ")"
-      R_PAREN@114..115 ")"
+    META@43..115
+      PATH@43..47
+        PATH_SEGMENT@43..47
+          NAME_REF@43..47
+            IDENT@43..47 "attr"
+      TOKEN_TREE@47..115
+        L_PAREN@47..48 "("
+        IDENT@48..53 "ident"
+        COMMA@53..54 ","
+        WHITESPACE@54..55 " "
+        INT_NUMBER@55..58 "100"
+        COMMA@58..59 ","
+        WHITESPACE@59..60 " "
+        TRUE_KW@60..64 "true"
+        COMMA@64..65 ","
+        WHITESPACE@65..66 " "
+        STRING@66..72 "\"true\""
+        COMMA@72..73 ","
+        WHITESPACE@73..74 " "
+        IDENT@74..79 "ident"
+        WHITESPACE@79..80 " "
+        EQ@80..81 "="
+        WHITESPACE@81..82 " "
+        INT_NUMBER@82..85 "100"
+        COMMA@85..86 ","
+        WHITESPACE@86..87 " "
+        IDENT@87..92 "ident"
+        WHITESPACE@92..93 " "
+        EQ@93..94 "="
+        WHITESPACE@94..95 " "
+        STRING@95..102 "\"hello\""
+        COMMA@102..103 ","
+        WHITESPACE@103..104 " "
+        IDENT@104..109 "ident"
+        TOKEN_TREE@109..114
+          L_PAREN@109..110 "("
+          INT_NUMBER@110..113 "100"
+          R_PAREN@113..114 ")"
+        R_PAREN@114..115 ")"
     R_BRACK@115..116 "]"
   WHITESPACE@116..117 "\n"
   ATTR@117..130
     POUND@117..118 "#"
     BANG@118..119 "!"
     L_BRACK@119..120 "["
-    PATH@120..124
-      PATH_SEGMENT@120..124
-        NAME_REF@120..124
-          IDENT@120..124 "attr"
-    TOKEN_TREE@124..129
-      L_PAREN@124..125 "("
-      INT_NUMBER@125..128 "100"
-      R_PAREN@128..129 ")"
+    META@120..129
+      PATH@120..124
+        PATH_SEGMENT@120..124
+          NAME_REF@120..124
+            IDENT@120..124 "attr"
+      TOKEN_TREE@124..129
+        L_PAREN@124..125 "("
+        INT_NUMBER@125..128 "100"
+        R_PAREN@128..129 ")"
     R_BRACK@129..130 "]"
   WHITESPACE@130..131 "\n"
   ATTR@131..155
     POUND@131..132 "#"
     BANG@132..133 "!"
     L_BRACK@133..134 "["
-    PATH@134..138
-      PATH_SEGMENT@134..138
-        NAME_REF@134..138
-          IDENT@134..138 "attr"
-    TOKEN_TREE@138..154
-      L_PAREN@138..139 "("
-      IDENT@139..146 "enabled"
-      WHITESPACE@146..147 " "
-      EQ@147..148 "="
-      WHITESPACE@148..149 " "
-      TRUE_KW@149..153 "true"
-      R_PAREN@153..154 ")"
+    META@134..154
+      PATH@134..138
+        PATH_SEGMENT@134..138
+          NAME_REF@134..138
+            IDENT@134..138 "attr"
+      TOKEN_TREE@138..154
+        L_PAREN@138..139 "("
+        IDENT@139..146 "enabled"
+        WHITESPACE@146..147 " "
+        EQ@147..148 "="
+        WHITESPACE@148..149 " "
+        TRUE_KW@149..153 "true"
+        R_PAREN@153..154 ")"
     R_BRACK@154..155 "]"
   WHITESPACE@155..156 "\n"
   ATTR@156..173
     POUND@156..157 "#"
     BANG@157..158 "!"
     L_BRACK@158..159 "["
-    PATH@159..166
-      PATH_SEGMENT@159..166
-        NAME_REF@159..166
-          IDENT@159..166 "enabled"
-    TOKEN_TREE@166..172
-      L_PAREN@166..167 "("
-      TRUE_KW@167..171 "true"
-      R_PAREN@171..172 ")"
+    META@159..172
+      PATH@159..166
+        PATH_SEGMENT@159..166
+          NAME_REF@159..166
+            IDENT@159..166 "enabled"
+      TOKEN_TREE@166..172
+        L_PAREN@166..167 "("
+        TRUE_KW@167..171 "true"
+        R_PAREN@171..172 ")"
     R_BRACK@172..173 "]"
   WHITESPACE@173..174 "\n"
   ATTR@174..191
     POUND@174..175 "#"
     BANG@175..176 "!"
     L_BRACK@176..177 "["
-    PATH@177..181
-      PATH_SEGMENT@177..181
-        NAME_REF@177..181
-          IDENT@177..181 "attr"
-    TOKEN_TREE@181..190
-      L_PAREN@181..182 "("
-      STRING@182..189 "\"hello\""
-      R_PAREN@189..190 ")"
+    META@177..190
+      PATH@177..181
+        PATH_SEGMENT@177..181
+          NAME_REF@177..181
+            IDENT@177..181 "attr"
+      TOKEN_TREE@181..190
+        L_PAREN@181..182 "("
+        STRING@182..189 "\"hello\""
+        R_PAREN@189..190 ")"
     R_BRACK@190..191 "]"
   WHITESPACE@191..192 "\n"
   ATTR@192..214
     POUND@192..193 "#"
     BANG@193..194 "!"
     L_BRACK@194..195 "["
-    PATH@195..199
-      PATH_SEGMENT@195..199
-        NAME_REF@195..199
-          IDENT@195..199 "repr"
-    TOKEN_TREE@199..213
-      L_PAREN@199..200 "("
-      IDENT@200..201 "C"
-      COMMA@201..202 ","
-      WHITESPACE@202..203 " "
-      IDENT@203..208 "align"
-      WHITESPACE@208..209 " "
-      EQ@209..210 "="
-      WHITESPACE@210..211 " "
-      INT_NUMBER@211..212 "4"
-      R_PAREN@212..213 ")"
+    META@195..213
+      PATH@195..199
+        PATH_SEGMENT@195..199
+          NAME_REF@195..199
+            IDENT@195..199 "repr"
+      TOKEN_TREE@199..213
+        L_PAREN@199..200 "("
+        IDENT@200..201 "C"
+        COMMA@201..202 ","
+        WHITESPACE@202..203 " "
+        IDENT@203..208 "align"
+        WHITESPACE@208..209 " "
+        EQ@209..210 "="
+        WHITESPACE@210..211 " "
+        INT_NUMBER@211..212 "4"
+        R_PAREN@212..213 ")"
     R_BRACK@213..214 "]"
   WHITESPACE@214..215 "\n"
   ATTR@215..236
     POUND@215..216 "#"
     BANG@216..217 "!"
     L_BRACK@217..218 "["
-    PATH@218..222
-      PATH_SEGMENT@218..222
-        NAME_REF@218..222
-          IDENT@218..222 "repr"
-    TOKEN_TREE@222..235
-      L_PAREN@222..223 "("
-      IDENT@223..224 "C"
-      COMMA@224..225 ","
-      WHITESPACE@225..226 " "
-      IDENT@226..231 "align"
-      TOKEN_TREE@231..234
-        L_PAREN@231..232 "("
-        INT_NUMBER@232..233 "4"
-        R_PAREN@233..234 ")"
-      R_PAREN@234..235 ")"
+    META@218..235
+      PATH@218..222
+        PATH_SEGMENT@218..222
+          NAME_REF@218..222
+            IDENT@218..222 "repr"
+      TOKEN_TREE@222..235
+        L_PAREN@222..223 "("
+        IDENT@223..224 "C"
+        COMMA@224..225 ","
+        WHITESPACE@225..226 " "
+        IDENT@226..231 "align"
+        TOKEN_TREE@231..234
+          L_PAREN@231..232 "("
+          INT_NUMBER@232..233 "4"
+          R_PAREN@233..234 ")"
+        R_PAREN@234..235 ")"
     R_BRACK@235..236 "]"
index b2c1d791f145d26bea2ca71ea291db2c5ce357fa..8b1e0a52da3144d69af57231dee1dd40476b9b2a 100644 (file)
@@ -65,10 +65,11 @@ SOURCE_FILE@0..118
         POUND@79..80 "#"
         BANG@80..81 "!"
         L_BRACK@81..82 "["
-        PATH@82..86
-          PATH_SEGMENT@82..86
-            NAME_REF@82..86
-              IDENT@82..86 "attr"
+        META@82..86
+          PATH@82..86
+            PATH_SEGMENT@82..86
+              NAME_REF@82..86
+                IDENT@82..86 "attr"
         R_BRACK@86..87 "]"
       WHITESPACE@87..92 "\n    "
       MODULE@92..98
index 478fdba758a30d05eef411a332d5311560c76462..ff5877a7be89e5ca2245029dca66779cf50a3a8f 100644 (file)
@@ -3,23 +3,25 @@ SOURCE_FILE@0..60
     ATTR@0..12
       POUND@0..1 "#"
       L_BRACK@1..2 "["
-      PATH@2..5
-        PATH_SEGMENT@2..5
-          NAME_REF@2..5
-            IDENT@2..5 "cfg"
-      TOKEN_TREE@5..11
-        L_PAREN@5..6 "("
-        IDENT@6..10 "test"
-        R_PAREN@10..11 ")"
+      META@2..11
+        PATH@2..5
+          PATH_SEGMENT@2..5
+            NAME_REF@2..5
+              IDENT@2..5 "cfg"
+        TOKEN_TREE@5..11
+          L_PAREN@5..6 "("
+          IDENT@6..10 "test"
+          R_PAREN@10..11 ")"
       R_BRACK@11..12 "]"
     WHITESPACE@12..13 "\n"
     ATTR@13..22
       POUND@13..14 "#"
       L_BRACK@14..15 "["
-      PATH@15..21
-        PATH_SEGMENT@15..21
-          NAME_REF@15..21
-            IDENT@15..21 "ignore"
+      META@15..21
+        PATH@15..21
+          PATH_SEGMENT@15..21
+            NAME_REF@15..21
+              IDENT@15..21 "ignore"
       R_BRACK@21..22 "]"
     WHITESPACE@22..23 "\n"
     FN_KW@23..25 "fn"
@@ -38,15 +40,16 @@ SOURCE_FILE@0..60
     ATTR@36..52
       POUND@36..37 "#"
       L_BRACK@37..38 "["
-      PATH@38..42
-        PATH_SEGMENT@38..42
-          NAME_REF@38..42
-            IDENT@38..42 "path"
-      WHITESPACE@42..43 " "
-      EQ@43..44 "="
-      WHITESPACE@44..45 " "
-      LITERAL@45..51
-        STRING@45..51 "\"a.rs\""
+      META@38..51
+        PATH@38..42
+          PATH_SEGMENT@38..42
+            NAME_REF@38..42
+              IDENT@38..42 "path"
+        WHITESPACE@42..43 " "
+        EQ@43..44 "="
+        WHITESPACE@44..45 " "
+        LITERAL@45..51
+          STRING@45..51 "\"a.rs\""
       R_BRACK@51..52 "]"
     WHITESPACE@52..53 "\n"
     MOD_KW@53..56 "mod"
index a3e091ad369afa982b4cf55193951ea9aa495b0b..94791f771c842ddad9edc01adb90be25a394b293 100644 (file)
@@ -3,15 +3,16 @@ SOURCE_FILE@0..23
     ATTR@0..10
       POUND@0..1 "#"
       L_BRACK@1..2 "["
-      PATH@2..5
-        PATH_SEGMENT@2..5
-          NAME_REF@2..5
-            IDENT@2..5 "foo"
-      TOKEN_TREE@5..9
-        L_PAREN@5..6 "("
-        IDENT@6..7 "a"
-        COMMA@7..8 ","
-        R_PAREN@8..9 ")"
+      META@2..9
+        PATH@2..5
+          PATH_SEGMENT@2..5
+            NAME_REF@2..5
+              IDENT@2..5 "foo"
+        TOKEN_TREE@5..9
+          L_PAREN@5..6 "("
+          IDENT@6..7 "a"
+          COMMA@7..8 ","
+          R_PAREN@8..9 ")"
       R_BRACK@9..10 "]"
     WHITESPACE@10..11 "\n"
     FN_KW@11..13 "fn"
index 46b192dc191831e086db2330b3bc9eb17bb3c3da..20675dbf5afa0e4f96bf43e56309b5924266d01a 100644 (file)
@@ -11,71 +11,76 @@ SOURCE_FILE@0..3813
     POUND@271..272 "#"
     BANG@272..273 "!"
     L_BRACK@273..274 "["
-    PATH@274..279
-      PATH_SEGMENT@274..279
-        NAME_REF@274..279
-          IDENT@274..279 "allow"
-    TOKEN_TREE@279..301
-      L_PAREN@279..280 "("
-      IDENT@280..300 "non_camel_case_types"
-      R_PAREN@300..301 ")"
+    META@274..301
+      PATH@274..279
+        PATH_SEGMENT@274..279
+          NAME_REF@274..279
+            IDENT@274..279 "allow"
+      TOKEN_TREE@279..301
+        L_PAREN@279..280 "("
+        IDENT@280..300 "non_camel_case_types"
+        R_PAREN@300..301 ")"
     R_BRACK@301..302 "]"
   WHITESPACE@302..303 "\n"
   ATTR@303..323
     POUND@303..304 "#"
     BANG@304..305 "!"
     L_BRACK@305..306 "["
-    PATH@306..311
-      PATH_SEGMENT@306..311
-        NAME_REF@306..311
-          IDENT@306..311 "allow"
-    TOKEN_TREE@311..322
-      L_PAREN@311..312 "("
-      IDENT@312..321 "dead_code"
-      R_PAREN@321..322 ")"
+    META@306..322
+      PATH@306..311
+        PATH_SEGMENT@306..311
+          NAME_REF@306..311
+            IDENT@306..311 "allow"
+      TOKEN_TREE@311..322
+        L_PAREN@311..312 "("
+        IDENT@312..321 "dead_code"
+        R_PAREN@321..322 ")"
     R_BRACK@322..323 "]"
   WHITESPACE@323..324 "\n"
   ATTR@324..351
     POUND@324..325 "#"
     BANG@325..326 "!"
     L_BRACK@326..327 "["
-    PATH@327..332
-      PATH_SEGMENT@327..332
-        NAME_REF@327..332
-          IDENT@327..332 "allow"
-    TOKEN_TREE@332..350
-      L_PAREN@332..333 "("
-      IDENT@333..349 "unreachable_code"
-      R_PAREN@349..350 ")"
+    META@327..350
+      PATH@327..332
+        PATH_SEGMENT@327..332
+          NAME_REF@327..332
+            IDENT@327..332 "allow"
+      TOKEN_TREE@332..350
+        L_PAREN@332..333 "("
+        IDENT@333..349 "unreachable_code"
+        R_PAREN@349..350 ")"
     R_BRACK@350..351 "]"
   WHITESPACE@351..352 "\n"
   ATTR@352..376
     POUND@352..353 "#"
     BANG@353..354 "!"
     L_BRACK@354..355 "["
-    PATH@355..360
-      PATH_SEGMENT@355..360
-        NAME_REF@355..360
-          IDENT@355..360 "allow"
-    TOKEN_TREE@360..375
-      L_PAREN@360..361 "("
-      IDENT@361..374 "unused_parens"
-      R_PAREN@374..375 ")"
+    META@355..375
+      PATH@355..360
+        PATH_SEGMENT@355..360
+          NAME_REF@355..360
+            IDENT@355..360 "allow"
+      TOKEN_TREE@360..375
+        L_PAREN@360..361 "("
+        IDENT@361..374 "unused_parens"
+        R_PAREN@374..375 ")"
     R_BRACK@375..376 "]"
   WHITESPACE@376..378 "\n\n"
   ATTR@378..405
     POUND@378..379 "#"
     BANG@379..380 "!"
     L_BRACK@380..381 "["
-    PATH@381..396
-      PATH_SEGMENT@381..396
-        NAME_REF@381..396
-          IDENT@381..396 "recursion_limit"
-    WHITESPACE@396..397 " "
-    EQ@397..398 "="
-    WHITESPACE@398..399 " "
-    LITERAL@399..404
-      STRING@399..404 "\"128\""
+    META@381..404
+      PATH@381..396
+        PATH_SEGMENT@381..396
+          NAME_REF@381..396
+            IDENT@381..396 "recursion_limit"
+      WHITESPACE@396..397 " "
+      EQ@397..398 "="
+      WHITESPACE@398..399 " "
+      LITERAL@399..404
+        STRING@399..404 "\"128\""
     R_BRACK@404..405 "]"
   WHITESPACE@405..407 "\n\n"
   USE@407..427
index af44a4dbe2eaa0af8addbcf7c5f167aa47ad2601..d0e7a1dbe67184d93b7169c3955a3bcddc90eb03 100644 (file)
@@ -17,18 +17,19 @@ SOURCE_FILE@0..166
         ATTR@77..106
           POUND@77..78 "#"
           L_BRACK@78..79 "["
-          PATH@79..82
-            PATH_SEGMENT@79..82
-              NAME_REF@79..82
-                IDENT@79..82 "cfg"
-          TOKEN_TREE@82..105
-            L_PAREN@82..83 "("
-            IDENT@83..90 "feature"
-            WHITESPACE@90..91 " "
-            EQ@91..92 "="
-            WHITESPACE@92..93 " "
-            STRING@93..104 "\"backtrace\""
-            R_PAREN@104..105 ")"
+          META@79..105
+            PATH@79..82
+              PATH_SEGMENT@79..82
+                NAME_REF@79..82
+                  IDENT@79..82 "cfg"
+            TOKEN_TREE@82..105
+              L_PAREN@82..83 "("
+              IDENT@83..90 "feature"
+              WHITESPACE@90..91 " "
+              EQ@91..92 "="
+              WHITESPACE@92..93 " "
+              STRING@93..104 "\"backtrace\""
+              R_PAREN@104..105 ")"
           R_BRACK@105..106 "]"
         WHITESPACE@106..111 "\n    "
         LET_KW@111..114 "let"
index 5e50b4e0bcae46ba71a7cc3ae102677af13fc420..7fbd635d0031446119bcc4968b6535f80d66d6b2 100644 (file)
@@ -15,14 +15,15 @@ SOURCE_FILE@0..764
         POUND@17..18 "#"
         BANG@18..19 "!"
         L_BRACK@19..20 "["
-        PATH@20..23
-          PATH_SEGMENT@20..23
-            NAME_REF@20..23
-              IDENT@20..23 "doc"
-        TOKEN_TREE@23..56
-          L_PAREN@23..24 "("
-          STRING@24..55 "\"Inner attributes all ..."
-          R_PAREN@55..56 ")"
+        META@20..56
+          PATH@20..23
+            PATH_SEGMENT@20..23
+              NAME_REF@20..23
+                IDENT@20..23 "doc"
+          TOKEN_TREE@23..56
+            L_PAREN@23..24 "("
+            STRING@24..55 "\"Inner attributes all ..."
+            R_PAREN@55..56 ")"
         R_BRACK@56..57 "]"
       WHITESPACE@57..62 "\n    "
       COMMENT@62..97 "//! As are ModuleDoc  ..."
@@ -35,28 +36,30 @@ SOURCE_FILE@0..764
             POUND@112..113 "#"
             BANG@113..114 "!"
             L_BRACK@114..115 "["
-            PATH@115..118
-              PATH_SEGMENT@115..118
-                NAME_REF@115..118
-                  IDENT@115..118 "doc"
-            TOKEN_TREE@118..179
-              L_PAREN@118..119 "("
-              STRING@119..178 "\"Inner attributes are ..."
-              R_PAREN@178..179 ")"
+            META@115..179
+              PATH@115..118
+                PATH_SEGMENT@115..118
+                  NAME_REF@115..118
+                    IDENT@115..118 "doc"
+              TOKEN_TREE@118..179
+                L_PAREN@118..119 "("
+                STRING@119..178 "\"Inner attributes are ..."
+                R_PAREN@178..179 ")"
             R_BRACK@179..180 "]"
           WHITESPACE@180..189 "\n        "
           ATTR@189..244
             POUND@189..190 "#"
             BANG@190..191 "!"
             L_BRACK@191..192 "["
-            PATH@192..195
-              PATH_SEGMENT@192..195
-                NAME_REF@192..195
-                  IDENT@192..195 "doc"
-            TOKEN_TREE@195..243
-              L_PAREN@195..196 "("
-              STRING@196..242 "\"Being validated is n ..."
-              R_PAREN@242..243 ")"
+            META@192..243
+              PATH@192..195
+                PATH_SEGMENT@192..195
+                  NAME_REF@192..195
+                    IDENT@192..195 "doc"
+              TOKEN_TREE@195..243
+                L_PAREN@195..196 "("
+                STRING@196..242 "\"Being validated is n ..."
+                R_PAREN@242..243 ")"
             R_BRACK@243..244 "]"
           WHITESPACE@244..253 "\n        "
           COMMENT@253..288 "//! As are ModuleDoc  ..."
@@ -71,14 +74,15 @@ SOURCE_FILE@0..764
           POUND@310..311 "#"
           BANG@311..312 "!"
           L_BRACK@312..313 "["
-          PATH@313..316
-            PATH_SEGMENT@313..316
-              NAME_REF@313..316
-                IDENT@313..316 "doc"
-          TOKEN_TREE@316..408
-            L_PAREN@316..317 "("
-            STRING@317..407 "\"Inner attributes are ..."
-            R_PAREN@407..408 ")"
+          META@313..408
+            PATH@313..316
+              PATH_SEGMENT@313..316
+                NAME_REF@313..316
+                  IDENT@313..316 "doc"
+            TOKEN_TREE@316..408
+              L_PAREN@316..317 "("
+              STRING@317..407 "\"Inner attributes are ..."
+              R_PAREN@407..408 ")"
           R_BRACK@408..409 "]"
         WHITESPACE@409..418 "\n        "
         COMMENT@418..453 "//! As are ModuleDoc  ..."
@@ -111,14 +115,15 @@ SOURCE_FILE@0..764
           ATTR@488..533
             POUND@488..489 "#"
             L_BRACK@489..490 "["
-            PATH@490..493
-              PATH_SEGMENT@490..493
-                NAME_REF@490..493
-                  IDENT@490..493 "doc"
-            TOKEN_TREE@493..532
-              L_PAREN@493..494 "("
-              STRING@494..531 "\"Outer attributes are ..."
-              R_PAREN@531..532 ")"
+            META@490..532
+              PATH@490..493
+                PATH_SEGMENT@490..493
+                  NAME_REF@490..493
+                    IDENT@490..493 "doc"
+              TOKEN_TREE@493..532
+                L_PAREN@493..494 "("
+                STRING@494..531 "\"Outer attributes are ..."
+                R_PAREN@531..532 ")"
             R_BRACK@532..533 "]"
           WHITESPACE@533..534 " "
           L_CURLY@534..535 "{"
@@ -200,14 +205,15 @@ SOURCE_FILE@0..764
             POUND@690..691 "#"
             BANG@691..692 "!"
             L_BRACK@692..693 "["
-            PATH@693..698
-              PATH_SEGMENT@693..698
-                NAME_REF@693..698
-                  IDENT@693..698 "allow"
-            TOKEN_TREE@698..716
-              L_PAREN@698..699 "("
-              IDENT@699..715 "unused_variables"
-              R_PAREN@715..716 ")"
+            META@693..716
+              PATH@693..698
+                PATH_SEGMENT@693..698
+                  NAME_REF@693..698
+                    IDENT@693..698 "allow"
+              TOKEN_TREE@698..716
+                L_PAREN@698..699 "("
+                IDENT@699..715 "unused_variables"
+                R_PAREN@715..716 ")"
             R_BRACK@716..717 "]"
           WHITESPACE@717..718 " "
           COMMENT@718..755 "// this is  `inner_at ..."
index 37594769aaad0ba093c1dab6f320ea333eeb9fa3..854ff9d5633ff3a67e6f6d19d03ab1da8bc70cf1 100644 (file)
@@ -14,14 +14,15 @@ SOURCE_FILE@0..87
         POUND@47..48 "#"
         BANG@48..49 "!"
         L_BRACK@49..50 "["
-        PATH@50..53
-          PATH_SEGMENT@50..53
-            NAME_REF@50..53
-              IDENT@50..53 "doc"
-        TOKEN_TREE@53..83
-          L_PAREN@53..54 "("
-          STRING@54..82 "\"This is also a doc c ..."
-          R_PAREN@82..83 ")"
+        META@50..83
+          PATH@50..53
+            PATH_SEGMENT@50..53
+              NAME_REF@50..53
+                IDENT@50..53 "doc"
+          TOKEN_TREE@53..83
+            L_PAREN@53..54 "("
+            STRING@54..82 "\"This is also a doc c ..."
+            R_PAREN@82..83 ")"
         R_BRACK@83..84 "]"
       WHITESPACE@84..85 "\n"
       R_CURLY@85..86 "}"
index 88470c41c047e20e246e86db7352768350220032..f935a0df5711aa39ae7fd940029399730c587b2c 100644 (file)
@@ -10,19 +10,21 @@ SOURCE_FILE@0..519
         ATTR@6..14
           POUND@6..7 "#"
           L_BRACK@7..8 "["
-          PATH@8..13
-            PATH_SEGMENT@8..13
-              NAME_REF@8..13
-                IDENT@8..13 "attr1"
+          META@8..13
+            PATH@8..13
+              PATH_SEGMENT@8..13
+                NAME_REF@8..13
+                  IDENT@8..13 "attr1"
           R_BRACK@13..14 "]"
         WHITESPACE@14..15 " "
         ATTR@15..23
           POUND@15..16 "#"
           L_BRACK@16..17 "["
-          PATH@17..22
-            PATH_SEGMENT@17..22
-              NAME_REF@17..22
-                IDENT@17..22 "attr2"
+          META@17..22
+            PATH@17..22
+              PATH_SEGMENT@17..22
+                NAME_REF@17..22
+                  IDENT@17..22 "attr2"
           R_BRACK@22..23 "]"
         WHITESPACE@23..24 " "
         IDENT_PAT@24..27
@@ -52,10 +54,11 @@ SOURCE_FILE@0..519
         ATTR@44..52
           POUND@44..45 "#"
           L_BRACK@45..46 "["
-          PATH@46..51
-            PATH_SEGMENT@46..51
-              NAME_REF@46..51
-                IDENT@46..51 "attr1"
+          META@46..51
+            PATH@46..51
+              PATH_SEGMENT@46..51
+                NAME_REF@46..51
+                  IDENT@46..51 "attr1"
           R_BRACK@51..52 "]"
         WHITESPACE@52..53 " "
         IDENT_PAT@53..54
@@ -111,10 +114,11 @@ SOURCE_FILE@0..519
             ATTR@106..113
               POUND@106..107 "#"
               L_BRACK@107..108 "["
-              PATH@108..112
-                PATH_SEGMENT@108..112
-                  NAME_REF@108..112
-                    IDENT@108..112 "attr"
+              META@108..112
+                PATH@108..112
+                  PATH_SEGMENT@108..112
+                    NAME_REF@108..112
+                      IDENT@108..112 "attr"
               R_BRACK@112..113 "]"
             WHITESPACE@113..114 " "
             DOT3@114..117 "..."
@@ -157,10 +161,11 @@ SOURCE_FILE@0..519
                       ATTR@146..153
                         POUND@146..147 "#"
                         L_BRACK@147..148 "["
-                        PATH@148..152
-                          PATH_SEGMENT@148..152
-                            NAME_REF@148..152
-                              IDENT@148..152 "attr"
+                        META@148..152
+                          PATH@148..152
+                            PATH_SEGMENT@148..152
+                              NAME_REF@148..152
+                                IDENT@148..152 "attr"
                         R_BRACK@152..153 "]"
                       WHITESPACE@153..154 " "
                       REF_TYPE@154..166
@@ -207,10 +212,11 @@ SOURCE_FILE@0..519
             ATTR@197..204
               POUND@197..198 "#"
               L_BRACK@198..199 "["
-              PATH@199..203
-                PATH_SEGMENT@199..203
-                  NAME_REF@199..203
-                    IDENT@199..203 "attr"
+              META@199..203
+                PATH@199..203
+                  PATH_SEGMENT@199..203
+                    NAME_REF@199..203
+                      IDENT@199..203 "attr"
               R_BRACK@203..204 "]"
             WHITESPACE@204..205 " "
             WILDCARD_PAT@205..206
@@ -229,10 +235,11 @@ SOURCE_FILE@0..519
               POUND@213..214 "#"
               WHITESPACE@214..215 " "
               L_BRACK@215..216 "["
-              PATH@216..220
-                PATH_SEGMENT@216..220
-                  NAME_REF@216..220
-                    IDENT@216..220 "attr"
+              META@216..220
+                PATH@216..220
+                  PATH_SEGMENT@216..220
+                    NAME_REF@216..220
+                      IDENT@216..220 "attr"
               R_BRACK@220..221 "]"
             WHITESPACE@221..222 " "
             IDENT_PAT@222..227
@@ -275,10 +282,11 @@ SOURCE_FILE@0..519
             ATTR@257..268
               POUND@257..258 "#"
               L_BRACK@258..259 "["
-              PATH@259..267
-                PATH_SEGMENT@259..267
-                  NAME_REF@259..267
-                    IDENT@259..267 "must_use"
+              META@259..267
+                PATH@259..267
+                  PATH_SEGMENT@259..267
+                    NAME_REF@259..267
+                      IDENT@259..267 "must_use"
               R_BRACK@267..268 "]"
             WHITESPACE@268..269 " "
             NAME@269..273
@@ -300,10 +308,11 @@ SOURCE_FILE@0..519
             ATTR@289..296
               POUND@289..290 "#"
               L_BRACK@290..291 "["
-              PATH@291..295
-                PATH_SEGMENT@291..295
-                  NAME_REF@291..295
-                    IDENT@291..295 "attr"
+              META@291..295
+                PATH@291..295
+                  PATH_SEGMENT@291..295
+                    NAME_REF@291..295
+                      IDENT@291..295 "attr"
               R_BRACK@295..296 "]"
             WHITESPACE@296..297 " "
             NAME@297..301
@@ -325,10 +334,11 @@ SOURCE_FILE@0..519
             ATTR@317..324
               POUND@317..318 "#"
               L_BRACK@318..319 "["
-              PATH@319..323
-                PATH_SEGMENT@319..323
-                  NAME_REF@319..323
-                    IDENT@319..323 "attr"
+              META@319..323
+                PATH@319..323
+                  PATH_SEGMENT@319..323
+                    NAME_REF@319..323
+                      IDENT@319..323 "attr"
               R_BRACK@323..324 "]"
             WHITESPACE@324..325 " "
             AMP@325..326 "&"
@@ -357,10 +367,11 @@ SOURCE_FILE@0..519
             ATTR@350..357
               POUND@350..351 "#"
               L_BRACK@351..352 "["
-              PATH@352..356
-                PATH_SEGMENT@352..356
-                  NAME_REF@352..356
-                    IDENT@352..356 "attr"
+              META@352..356
+                PATH@352..356
+                  PATH_SEGMENT@352..356
+                    NAME_REF@352..356
+                      IDENT@352..356 "attr"
               R_BRACK@356..357 "]"
             WHITESPACE@357..358 " "
             AMP@358..359 "&"
@@ -391,10 +402,11 @@ SOURCE_FILE@0..519
             ATTR@387..394
               POUND@387..388 "#"
               L_BRACK@388..389 "["
-              PATH@389..393
-                PATH_SEGMENT@389..393
-                  NAME_REF@389..393
-                    IDENT@389..393 "attr"
+              META@389..393
+                PATH@389..393
+                  PATH_SEGMENT@389..393
+                    NAME_REF@389..393
+                      IDENT@389..393 "attr"
               R_BRACK@393..394 "]"
             WHITESPACE@394..395 " "
             AMP@395..396 "&"
@@ -426,10 +438,11 @@ SOURCE_FILE@0..519
             ATTR@423..430
               POUND@423..424 "#"
               L_BRACK@424..425 "["
-              PATH@425..429
-                PATH_SEGMENT@425..429
-                  NAME_REF@425..429
-                    IDENT@425..429 "attr"
+              META@425..429
+                PATH@425..429
+                  PATH_SEGMENT@425..429
+                    NAME_REF@425..429
+                      IDENT@425..429 "attr"
               R_BRACK@429..430 "]"
             WHITESPACE@430..431 " "
             AMP@431..432 "&"
@@ -457,10 +470,11 @@ SOURCE_FILE@0..519
             ATTR@458..465
               POUND@458..459 "#"
               L_BRACK@459..460 "["
-              PATH@460..464
-                PATH_SEGMENT@460..464
-                  NAME_REF@460..464
-                    IDENT@460..464 "attr"
+              META@460..464
+                PATH@460..464
+                  PATH_SEGMENT@460..464
+                    NAME_REF@460..464
+                      IDENT@460..464 "attr"
               R_BRACK@464..465 "]"
             WHITESPACE@465..466 " "
             NAME@466..470
@@ -489,10 +503,11 @@ SOURCE_FILE@0..519
             ATTR@491..498
               POUND@491..492 "#"
               L_BRACK@492..493 "["
-              PATH@493..497
-                PATH_SEGMENT@493..497
-                  NAME_REF@493..497
-                    IDENT@493..497 "attr"
+              META@493..497
+                PATH@493..497
+                  PATH_SEGMENT@493..497
+                    NAME_REF@493..497
+                      IDENT@493..497 "attr"
               R_BRACK@497..498 "]"
             WHITESPACE@498..499 " "
             NAME@499..503
index 87d8ebcba5be6e31e57880b78fd83d41bd909bc2..97416f16acc3b02a9562dff1e48c4f00d25dd608 100644 (file)
@@ -5,10 +5,11 @@ SOURCE_FILE@0..65
     ATTR@14..29
       POUND@14..15 "#"
       L_BRACK@15..16 "["
-      PATH@16..28
-        PATH_SEGMENT@16..28
-          NAME_REF@16..28
-            IDENT@16..28 "macro_export"
+      META@16..28
+        PATH@16..28
+          PATH_SEGMENT@16..28
+            NAME_REF@16..28
+              IDENT@16..28 "macro_export"
       R_BRACK@28..29 "]"
     WHITESPACE@29..30 "\n"
     MACRO_RULES_KW@30..41 "macro_rules"
index 0c22c31a4f62898e5dfdb15b243ba075300181d3..e75848f0f86caefef0569333a1115ff24c80d1a8 100644 (file)
@@ -55,10 +55,11 @@ SOURCE_FILE@0..349
     ATTR@95..102
       POUND@95..96 "#"
       L_BRACK@96..97 "["
-      PATH@97..101
-        PATH_SEGMENT@97..101
-          NAME_REF@97..101
-            IDENT@97..101 "test"
+      META@97..101
+        PATH@97..101
+          PATH_SEGMENT@97..101
+            NAME_REF@97..101
+              IDENT@97..101 "test"
       R_BRACK@101..102 "]"
     WHITESPACE@102..103 "\n"
     FN_KW@103..105 "fn"
index f7c094898235ab7e5be10db34cabb844dfba26ea..dcc4105c9178d5726aec0269a0991302998d6bf2 100644 (file)
@@ -96,14 +96,15 @@ SOURCE_FILE@0..126
             ATTR@92..105
               POUND@92..93 "#"
               L_BRACK@93..94 "["
-              PATH@94..97
-                PATH_SEGMENT@94..97
-                  NAME_REF@94..97
-                    IDENT@94..97 "cfg"
-              TOKEN_TREE@97..104
-                L_PAREN@97..98 "("
-                IDENT@98..103 "never"
-                R_PAREN@103..104 ")"
+              META@94..104
+                PATH@94..97
+                  PATH_SEGMENT@94..97
+                    NAME_REF@94..97
+                      IDENT@94..97 "cfg"
+                TOKEN_TREE@97..104
+                  L_PAREN@97..98 "("
+                  IDENT@98..103 "never"
+                  R_PAREN@103..104 ")"
               R_BRACK@104..105 "]"
             WHITESPACE@105..106 " "
             SLICE_PAT@106..115
index 997770958ff63232cee67882557e6e72f6b790b8..c4fc91386159ad5064656e065f42827eac969dec 100644 (file)
@@ -11,7 +11,7 @@ anyhow = "1.0.26"
 flate2 = "1.0"
 proc-macro2 = "1.0.8"
 quote = "1.0.2"
-ungrammar = "=1.13"
+ungrammar = "=1.14"
 walkdir = "2.3.1"
 write-json = "0.1.0"
 xshell = "0.1"
index 0fd1d13e6355c8c47f5555aec54ad0e8ed8f9fd4..fe37d0245186c3d725598022ff8d03e75400e811 100644 (file)
@@ -184,7 +184,7 @@ pub(crate) struct KindsSrc<'a> {
         "ITEM_LIST",
         "ASSOC_ITEM_LIST",
         "ATTR",
-        "META_ITEM", // not an item actually
+        "META",
         "USE_TREE",
         "USE_TREE_LIST",
         "PATH",