---
source: full-moon/tests/pass_cases.rs
expression: tokens
---
- start_position:
    bytes: 0
    line: 1
    character: 1
  end_position:
    bytes: 54
    line: 1
    character: 55
  token_type:
    type: SingleLineComment
    comment: " https://github.com/Kampfkarren/full-moon/issues/286"
- start_position:
    bytes: 54
    line: 1
    character: 55
  end_position:
    bytes: 55
    line: 1
    character: 55
  token_type:
    type: Whitespace
    characters: "\n"
- start_position:
    bytes: 55
    line: 2
    character: 1
  end_position:
    bytes: 56
    line: 2
    character: 1
  token_type:
    type: Whitespace
    characters: "\n"
- start_position:
    bytes: 56
    line: 3
    character: 1
  end_position:
    bytes: 148
    line: 3
    character: 93
  token_type:
    type: SingleLineComment
    comment: " should be parsed as a function returning a variable amount of values of type \"string & T\""
- start_position:
    bytes: 148
    line: 3
    character: 93
  end_position:
    bytes: 149
    line: 3
    character: 93
  token_type:
    type: Whitespace
    characters: "\n"
- start_position:
    bytes: 149
    line: 4
    character: 1
  end_position:
    bytes: 153
    line: 4
    character: 5
  token_type:
    type: Identifier
    identifier: type
- start_position:
    bytes: 153
    line: 4
    character: 5
  end_position:
    bytes: 154
    line: 4
    character: 6
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 154
    line: 4
    character: 6
  end_position:
    bytes: 157
    line: 4
    character: 9
  token_type:
    type: Identifier
    identifier: FnA
- start_position:
    bytes: 157
    line: 4
    character: 9
  end_position:
    bytes: 158
    line: 4
    character: 10
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 158
    line: 4
    character: 10
  end_position:
    bytes: 159
    line: 4
    character: 11
  token_type:
    type: Symbol
    symbol: "="
- start_position:
    bytes: 159
    line: 4
    character: 11
  end_position:
    bytes: 160
    line: 4
    character: 12
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 160
    line: 4
    character: 12
  end_position:
    bytes: 161
    line: 4
    character: 13
  token_type:
    type: Symbol
    symbol: (
- start_position:
    bytes: 161
    line: 4
    character: 13
  end_position:
    bytes: 162
    line: 4
    character: 14
  token_type:
    type: Symbol
    symbol: )
- start_position:
    bytes: 162
    line: 4
    character: 14
  end_position:
    bytes: 163
    line: 4
    character: 15
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 163
    line: 4
    character: 15
  end_position:
    bytes: 165
    line: 4
    character: 17
  token_type:
    type: Symbol
    symbol: "->"
- start_position:
    bytes: 165
    line: 4
    character: 17
  end_position:
    bytes: 166
    line: 4
    character: 18
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 166
    line: 4
    character: 18
  end_position:
    bytes: 169
    line: 4
    character: 21
  token_type:
    type: Symbol
    symbol: "..."
- start_position:
    bytes: 169
    line: 4
    character: 21
  end_position:
    bytes: 175
    line: 4
    character: 27
  token_type:
    type: Identifier
    identifier: string
- start_position:
    bytes: 175
    line: 4
    character: 27
  end_position:
    bytes: 176
    line: 4
    character: 28
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 176
    line: 4
    character: 28
  end_position:
    bytes: 177
    line: 4
    character: 29
  token_type:
    type: Symbol
    symbol: "&"
- start_position:
    bytes: 177
    line: 4
    character: 29
  end_position:
    bytes: 178
    line: 4
    character: 30
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 178
    line: 4
    character: 30
  end_position:
    bytes: 179
    line: 4
    character: 31
  token_type:
    type: Identifier
    identifier: T
- start_position:
    bytes: 179
    line: 4
    character: 31
  end_position:
    bytes: 180
    line: 4
    character: 31
  token_type:
    type: Whitespace
    characters: "\n"
- start_position:
    bytes: 180
    line: 5
    character: 1
  end_position:
    bytes: 181
    line: 5
    character: 1
  token_type:
    type: Whitespace
    characters: "\n"
- start_position:
    bytes: 181
    line: 6
    character: 1
  end_position:
    bytes: 278
    line: 6
    character: 98
  token_type:
    type: SingleLineComment
    comment: " should be parsed as an intersection of a function returning U... values, and a value of type T"
- start_position:
    bytes: 278
    line: 6
    character: 98
  end_position:
    bytes: 279
    line: 6
    character: 98
  token_type:
    type: Whitespace
    characters: "\n"
- start_position:
    bytes: 279
    line: 7
    character: 1
  end_position:
    bytes: 283
    line: 7
    character: 5
  token_type:
    type: Identifier
    identifier: type
- start_position:
    bytes: 283
    line: 7
    character: 5
  end_position:
    bytes: 284
    line: 7
    character: 6
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 284
    line: 7
    character: 6
  end_position:
    bytes: 287
    line: 7
    character: 9
  token_type:
    type: Identifier
    identifier: FnB
- start_position:
    bytes: 287
    line: 7
    character: 9
  end_position:
    bytes: 288
    line: 7
    character: 10
  token_type:
    type: Symbol
    symbol: "<"
- start_position:
    bytes: 288
    line: 7
    character: 10
  end_position:
    bytes: 289
    line: 7
    character: 11
  token_type:
    type: Identifier
    identifier: U
- start_position:
    bytes: 289
    line: 7
    character: 11
  end_position:
    bytes: 292
    line: 7
    character: 14
  token_type:
    type: Symbol
    symbol: "..."
- start_position:
    bytes: 292
    line: 7
    character: 14
  end_position:
    bytes: 293
    line: 7
    character: 15
  token_type:
    type: Symbol
    symbol: ">"
- start_position:
    bytes: 293
    line: 7
    character: 15
  end_position:
    bytes: 294
    line: 7
    character: 16
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 294
    line: 7
    character: 16
  end_position:
    bytes: 295
    line: 7
    character: 17
  token_type:
    type: Symbol
    symbol: "="
- start_position:
    bytes: 295
    line: 7
    character: 17
  end_position:
    bytes: 296
    line: 7
    character: 18
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 296
    line: 7
    character: 18
  end_position:
    bytes: 297
    line: 7
    character: 19
  token_type:
    type: Symbol
    symbol: (
- start_position:
    bytes: 297
    line: 7
    character: 19
  end_position:
    bytes: 298
    line: 7
    character: 20
  token_type:
    type: Symbol
    symbol: )
- start_position:
    bytes: 298
    line: 7
    character: 20
  end_position:
    bytes: 299
    line: 7
    character: 21
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 299
    line: 7
    character: 21
  end_position:
    bytes: 301
    line: 7
    character: 23
  token_type:
    type: Symbol
    symbol: "->"
- start_position:
    bytes: 301
    line: 7
    character: 23
  end_position:
    bytes: 302
    line: 7
    character: 24
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 302
    line: 7
    character: 24
  end_position:
    bytes: 303
    line: 7
    character: 25
  token_type:
    type: Identifier
    identifier: U
- start_position:
    bytes: 303
    line: 7
    character: 25
  end_position:
    bytes: 306
    line: 7
    character: 28
  token_type:
    type: Symbol
    symbol: "..."
- start_position:
    bytes: 306
    line: 7
    character: 28
  end_position:
    bytes: 307
    line: 7
    character: 29
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 307
    line: 7
    character: 29
  end_position:
    bytes: 308
    line: 7
    character: 30
  token_type:
    type: Symbol
    symbol: "&"
- start_position:
    bytes: 308
    line: 7
    character: 30
  end_position:
    bytes: 309
    line: 7
    character: 31
  token_type:
    type: Whitespace
    characters: " "
- start_position:
    bytes: 309
    line: 7
    character: 31
  end_position:
    bytes: 310
    line: 7
    character: 32
  token_type:
    type: Identifier
    identifier: T
- start_position:
    bytes: 310
    line: 7
    character: 32
  end_position:
    bytes: 311
    line: 7
    character: 32
  token_type:
    type: Whitespace
    characters: "\n"
- start_position:
    bytes: 311
    line: 8
    character: 1
  end_position:
    bytes: 311
    line: 8
    character: 1
  token_type:
    type: Eof

