Associate a message with `buildable: False`
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
From what I've observed, people use `buildable: False` to mean "don't even try to make a plan with this in, it really won't work I promise". But it can be helpful for the user to know _why_ this statement is being made. For example:
- `if os(windows) buildable: False` -> "This package cannot be built on windows"
- `if impl(ghc > 9.2) buildable: False` -> "This package does not support GHC greater than 9.2"
- `if os(windows) && impl(ghc > 9.2) buildable: False` -> "There's a specific issue on Windows that means we can't support this"
At the moment, all of these show up in the solver as something like `library is not buildable in the current environment`. It would be neat if we were somehow able to attache a message saying why the library is not buildable that could be shown at this point.
This is useful because it would make it much clearer for downstream people what to do. For example, I had a colleague ask my why my library was showing up as not buildable in this way, and I had to tell him myself that it meant "not buildable with GHC 8.10". It would be nice if the computer could have told him.
Contributor guide
Assessment
This issue has not been assessed yet.