FILE
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S1')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    RsVisImpl(VIS)
      PsiElement(pub)('pub')
    PsiWhiteSpace(' ')
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S2')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    RsVisImpl(VIS)
      PsiElement(pub)('pub')
      RsVisRestrictionImpl(VIS_RESTRICTION)
        PsiElement(()('(')
        RsPathImpl(PATH)
          PsiElement(crate)('crate')
        PsiElement())(')')
    PsiWhiteSpace(' ')
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S3')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    RsVisImpl(VIS)
      PsiElement(pub)('pub')
      RsVisRestrictionImpl(VIS_RESTRICTION)
        PsiElement(()('(')
        RsPathImpl(PATH)
          PsiElement(self)('self')
        PsiElement())(')')
    PsiWhiteSpace(' ')
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S4')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsModItemImpl(MOD_ITEM)
    PsiElement(mod)('mod')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('a')
    PsiWhiteSpace(' ')
    PsiElement({)('{')
    PsiWhiteSpace('\n    ')
    RsStructItemImpl(STRUCT_ITEM)
      RsVisImpl(VIS)
        PsiElement(pub)('pub')
        PsiWhiteSpace(' ')
        RsVisRestrictionImpl(VIS_RESTRICTION)
          PsiElement(()('(')
          RsPathImpl(PATH)
            PsiElement(super)('super')
          PsiElement())(')')
      PsiWhiteSpace(' ')
      PsiElement(struct)('struct')
      PsiWhiteSpace(' ')
      PsiElement(identifier)('S5')
      PsiElement(;)(';')
    PsiWhiteSpace('\n    ')
    RsStructItemImpl(STRUCT_ITEM)
      RsVisImpl(VIS)
        PsiElement(pub)('pub')
        RsVisRestrictionImpl(VIS_RESTRICTION)
          PsiElement(()('(')
          PsiElement(in)('in')
          PsiWhiteSpace(' ')
          RsPathImpl(PATH)
            PsiElement(identifier)('a')
          PsiElement())(')')
      PsiWhiteSpace(' ')
      PsiElement(struct)('struct')
      PsiWhiteSpace(' ')
      PsiElement(identifier)('S6')
      PsiElement(;)(';')
    PsiWhiteSpace('\n    ')
    RsModItemImpl(MOD_ITEM)
      PsiElement(mod)('mod')
      PsiWhiteSpace(' ')
      PsiElement(identifier)('b')
      PsiWhiteSpace(' ')
      PsiElement({)('{')
      PsiWhiteSpace('\n        ')
      RsStructItemImpl(STRUCT_ITEM)
        RsVisImpl(VIS)
          PsiElement(pub)('pub')
          RsVisRestrictionImpl(VIS_RESTRICTION)
            PsiElement(()('(')
            PsiElement(in)('in')
            PsiWhiteSpace(' ')
            RsPathImpl(PATH)
              RsPathImpl(PATH)
                PsiElement(super)('super')
              PsiElement(::)('::')
              PsiElement(super)('super')
            PsiElement())(')')
        PsiWhiteSpace(' ')
        PsiElement(struct)('struct')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('S7')
        PsiElement(;)(';')
      PsiWhiteSpace('\n        ')
      RsStructItemImpl(STRUCT_ITEM)
        PsiComment(<EOL_COMMENT>)('// Syntactically invalid')
        PsiWhiteSpace('\n        ')
        RsVisImpl(VIS)
          PsiElement(pub)('pub')
          RsVisRestrictionImpl(VIS_RESTRICTION)
            PsiElement(()('(')
            RsPathImpl(PATH)
              RsPathImpl(PATH)
                PsiElement(identifier)('a')
              PsiElement(::)('::')
              PsiElement(identifier)('b')
            PsiElement())(')')
        PsiWhiteSpace(' ')
        PsiElement(struct)('struct')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('S8')
        PsiElement(;)(';')
      PsiWhiteSpace('\n    ')
      PsiElement(})('}')
    PsiWhiteSpace('\n')
    PsiElement(})('}')
  PsiWhiteSpace('\n')
  RsStructItemImpl(STRUCT_ITEM)
    RsVisImpl(VIS)
      PsiElement(crate)('crate')
    PsiWhiteSpace(' ')
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S9')
    PsiElement(;)(';')
  PsiWhiteSpace('\n\n')
  RsStructItemImpl(STRUCT_ITEM)
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S10')
    RsTupleFieldsImpl(TUPLE_FIELDS)
      PsiElement(()('(')
      RsTupleFieldDeclImpl(TUPLE_FIELD_DECL)
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            RsPathImpl(PATH)
              PsiElement(crate)('crate')
            PsiWhiteSpace(' ')
            PsiElement(::)('::')
            PsiElement(identifier)('S1')
      PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace(' ')
  RsStructItemImpl(STRUCT_ITEM)
    PsiComment(<EOL_COMMENT>)('// path `crate::S1`')
    PsiWhiteSpace('\n')
    PsiElement(struct)('struct')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S11')
    RsTupleFieldsImpl(TUPLE_FIELDS)
      PsiElement(()('(')
      RsTupleFieldDeclImpl(TUPLE_FIELD_DECL)
        RsVisImpl(VIS)
          PsiElement(crate)('crate')
        PsiWhiteSpace(' ')
        RsPathTypeImpl(PATH_TYPE)
          RsPathImpl(PATH)
            PsiElement(identifier)('S1')
      PsiElement())(')')
    PsiElement(;)(';')
  PsiWhiteSpace(' ')
  PsiComment(<EOL_COMMENT>)('// vis `crate`')
  PsiWhiteSpace('\n\n')
  RsMacroCallImpl(MACRO_CALL)
    RsPathImpl(PATH)
      RsPathImpl(PATH)
        PsiElement(crate)('crate')
      PsiElement(::)('::')
      PsiElement(identifier)('macro1')
    PsiElement(!)('!')
    RsMacroArgumentImpl(MACRO_ARGUMENT)
      PsiElement(()('(')
      PsiElement())(')')
    PsiElement(;)(';')
