Add some weird Kmettian tests to the test suite
reflection
does some funny business essentially coercing between ->
and =>
. constraints
has some code that's very sensitive to superclass cycle detection. And there's some other package (structures
?) that coerces between *
and #
to stick raw MutArr#
pointers into arrays. I believe Kmett also uses unsafeCoerce# reallyUnsafePtrEquality#
to compare pointers of kind #
to others (of possibly different types).
None of these things are anything like officially supported. However, breaking them could be expensive for the ecosystem. Dealing with breakage when someone discovers it months later can be very hard, so I think some of these things should probably be added to the GHC test suite. Failures shouldn't categorically prevent changes from being merged, but they would provide an early warning and get conversations started earlier.
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Test Suite |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | ekmett |
Operating system | |
Architecture |