Skip to content

Symbols: local functions don't provide parameter names and declaring type info #13381

@auduchinok

Description

@auduchinok

Consider 3 function declarations:

let a x = ()

type T() =
    let b x = ()

do
    let c x = ()
    ()

a provides info about its parameters:

Screenshot 2022-06-24 at 19 24 58

b and c don't:

Screenshot 2022-06-24 at 19 26 14

Without this info it's problematic to provide rich tooling experience, as the features like Parameter Info popup need the parameter names. In addition to that, b doesn't provide its declaring entity.

The apparent difference between a and b or c is that the latter don't return any data from their TypedTree.ValRef.ValReprInfo properties. The data seems to be kept somewhere, as (at least) b has its parameter name compiled.

@dsyme Do you have an idea of how the missing data could be added?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions