Skip to content

Filling type holes can create incomplete signatures due to type variables from context #711

@maralorn

Description

@maralorn

I have for example the following situation:

Found type wildcard ‘_’ standing for ‘R.Dynamic t [Task] -> m ()’
Where: ‘t’, ‘m’ are rigid type variables bound by the type signature for: ...

It‘s not an import bug right now, but when t and m are not declared with forall t m and ScopedTypeVariables the inserted signature for the type hole will probably fail because it's lacking all constraints for t and m.

I am not sure what the correct solution is:

  • One could possibly look for the right constraints in the code and insert them.
  • Another (slightly crazy) possibility would be to offer to refactor used variables to explicit scoped type variables.

As I said this is not urgent and I see that a fix might be hard. Nonetheless I thought having the problem noted somewhere might help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    component: ghcidestatus: needs infoNot actionable, because there's missing informationtype: bugSomething isn't right: doesn't work as intended, documentation is missing/outdated, etc..

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions