SOURCE_FILE
  TRAIT
    TRAIT_KW "trait"
    WHITESPACE " "
    NAME
      IDENT "Runnable"
    WHITESPACE " "
    ASSOC_ITEM_LIST
      L_CURLY "{"
      WHITESPACE "\n    "
      FN
        FN_KW "fn"
        WHITESPACE " "
        NAME
          IDENT "handler"
        PARAM_LIST
          L_PAREN "("
          R_PAREN ")"
        SEMICOLON ";"
      WHITESPACE "\n"
      R_CURLY "}"
  WHITESPACE "\n\n"
  TRAIT
    TRAIT_KW "trait"
    WHITESPACE " "
    NAME
      IDENT "TraitWithExpr"
    WHITESPACE " "
    ASSOC_ITEM_LIST
      L_CURLY "{"
      WHITESPACE "\n    "
      FN
        FN_KW "fn"
        WHITESPACE " "
        NAME
          IDENT "fn_with_expr"
        PARAM_LIST
          L_PAREN "("
          PARAM
            IDENT_PAT
              NAME
                IDENT "x"
            COLON ":"
            WHITESPACE " "
            ARRAY_TYPE
              L_BRACK "["
              PATH_TYPE
                PATH
                  PATH_SEGMENT
                    NAME_REF
                      IDENT "i32"
              SEMICOLON ";"
              WHITESPACE " "
              CONST_ARG
                LITERAL
                  INT_NUMBER "1"
              R_BRACK "]"
          R_PAREN ")"
        SEMICOLON ";"
      WHITESPACE "\n"
      R_CURLY "}"
  WHITESPACE "\n"
