Skip to content

Don't use Proxy in Data.Records#428

Closed
konsumlamm wants to merge 1 commit intoaugustss:masterfrom
konsumlamm:no-proxy
Closed

Don't use Proxy in Data.Records#428
konsumlamm wants to merge 1 commit intoaugustss:masterfrom
konsumlamm:no-proxy

Conversation

@konsumlamm
Copy link
Copy Markdown
Contributor

Currently, Proxy is automatically imported (it's reexported by Data.Records, which is reexported by Mhs.Builtin). This is a problem when defining your own type called Proxy, as is the case in the pipes library.

To fix this, I tried to get rid of all Proxy usages in Data.Records. However, with this PR, building mhs currently fails (which is why this is a draft PR) with the following error:

"lib/System/IO/Error.hs": line 325, col 39: kind error: cannot unify Symbol and Type

The code in question is

ioeSetErrorType   ioe errtype  = ioe{ ioe_type = errtype }

I'm not sure what causes this error, although changing the kind signature of HasField and SetField to use Symbol instead of k :: Kind seems to fix it (this would be a departure from how GHC does it though).

@augustss
Copy link
Copy Markdown
Owner

augustss commented Apr 7, 2026

It's a bug that Proxy is in scope without being imported.
I'll try to fix that instead.

@augustss
Copy link
Copy Markdown
Owner

augustss commented Apr 7, 2026

The Prelude mistakingly re-exported Data.Records. Fixed 52f0cc7

@augustss augustss closed this Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants