Skip to content

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

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?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions