FILE
  RsExternCrateItemImpl(EXTERN_CRATE_ITEM)
    PsiElement(extern)('extern')
    PsiWhiteSpace(' ')
    PsiElement(crate)('crate')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('foo')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsExternCrateItemImpl(EXTERN_CRATE_ITEM)
    RsOuterAttrImpl(OUTER_ATTR)
      PsiElement(#)('#')
      PsiElement([)('[')
      RsMetaItemImpl(META_ITEM)
        RsPathImpl(PATH)
          PsiElement(identifier)('macro_use')
      PsiElement(])(']')
    PsiWhiteSpace(' ')
    PsiElement(extern)('extern')
    PsiWhiteSpace(' ')
    PsiElement(crate)('crate')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('bar')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsExternCrateItemImpl(EXTERN_CRATE_ITEM)
    PsiElement(extern)('extern')
    PsiWhiteSpace(' ')
    PsiElement(crate)('crate')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('spam')
    PsiWhiteSpace(' ')
    RsAliasImpl(ALIAS)
      PsiElement(as)('as')
      PsiWhiteSpace(' ')
      PsiElement(identifier)('eggs')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsExternCrateItemImpl(EXTERN_CRATE_ITEM)
    PsiComment(<EOL_COMMENT>)('// should be annotated as error')
    PsiWhiteSpace('\n')
    PsiElement(extern)('extern')
    PsiWhiteSpace(' ')
    PsiElement(crate)('crate')
    PsiWhiteSpace(' ')
    PsiElement(self)('self')
    PsiElement(;)(';')
  PsiWhiteSpace('\n')
  RsExternCrateItemImpl(EXTERN_CRATE_ITEM)
    PsiElement(extern)('extern')
    PsiWhiteSpace(' ')
    PsiElement(crate)('crate')
    PsiWhiteSpace(' ')
    PsiElement(self)('self')
    PsiWhiteSpace(' ')
    RsAliasImpl(ALIAS)
      PsiElement(as)('as')
      PsiWhiteSpace(' ')
      PsiElement(identifier)('foo')
    PsiElement(;)(';')