Skip to content

[#918] Simplify ReferencedByName

Context: I was looking at our uses of unsafeProvideConstraint (which are very few, btw, so arguably we might want to get rid of those entirely), and noticed this and got distracted fixing it.

Context 2: I've realized the old code could crash at runtime, so I filed #918 (closed) which this happens to fix.

Description

Problem: we use unsafeProvideConstraint to assert the consequent, but we don't actually need it, GHC is smart enough to derive everything on its own provided it has enough context.

Solution: carry enough context in VarPosition.

This also adds a few doctests.

Related issue(s)

Resolves #918 (closed)

Checklist for your Merge Request

Related changes (conditional)

  • Tests (see short guidelines)

    • If I added new functionality, I added tests covering it.
    • If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
  • Documentation

    • I checked whether I should update the docs and did so if necessary:
    • I updated changelog files of all affected packages released to Hackage if my changes are externally visible.

Stylistic guide (mandatory)

Edited by Nikolay Yakimov

Merge request reports

Loading