New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GHC 8.10.2 incompatibility with preprocessor plugin #35
Comments
Are you using the same version of record-dot-preprocessor in both versions of GHC? The latest version requires the extensions listed at https://github.com/ndmitchell/record-dot-preprocessor#how-do-i-use-this-magic, which includes turning on |
Ah- that’d do it. What changed to make undecidables necessary? Unless I’m mistaken, they’re a bit iffy to enable at all, let alone across the entire codebase? |
Records containing type families - see #29 - require undecidable instances. They can be iffy in places, and I wouldn't want them to be a long-term solution, but the whole record-dot-preprocessor thing is meant to be a stopgap to real compiler support. It would be possible to have two plugin modules, one with undecidable and one without, if it mattered enough to people. |
Was this type families constraint introduced in 8.10.2? My types didn’t change, as far as I’m aware, and I don’t think a boolean is a type family? |
It was introduced in record-dot-preprocessor 0.2.7. I imagine you have 0.2.6 installed on GHC 8.10.1. It isn't a type family, but we moved to a desugaring that allows type families (before they would fail), but unfortunately requires that extension. |
This change was done in #34. |
The following line from the RIO quickstart fails on GHC
8.10.2
but builds just fine on8.10.1
.This seems to happen with all records; the failures
8.10.2
produces with the plugin enabled look like this:The text was updated successfully, but these errors were encountered: