Skip to content

Polymorphic function types #204

Closed
@susliko

Description

@susliko

Commit of tree-sitter-scala you tested this on

7d348f5

A code sample showing the error

object TypeLambdas {
  val f = [t] => (t: t) => t
}

Show the error node

 val_definition [1, 2] - [1, 28]
     pattern: identifier [1, 6] - [1, 7]
     value: infix_expression [1, 9] - [1, 28]
       left: infix_expression [1, 9] - [1, 23]
         left: generic_function [1, 9] - [1, 13]
           function: identifier [1, 9] - [1, 9]
           type_arguments: type_arguments [1, 10] - [1, 13]
             type_identifier [1, 11] - [1, 12]
         operator: operator_identifier [1, 14] - [1, 16]
         right: parenthesized_expression [1, 17] - [1, 23]
           ascription_expression [1, 18] - [1, 22]
             identifier [1, 18] - [1, 19]
             type_identifier [1, 21] - [1, 22]
       operator: operator_identifier [1, 24] - [1, 26]
       right: identifier [1, 27] - [1, 28]

type lambda is parsed as some infix expression

What do you expect the tree to look like

I'd expect some type-lambda clause in the tree

Where are you experiencing this error?

nvim-treesitter

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions