
Stephan Friedrichs schrieb:
Hi,
it's alomost the same problem when you're writing a library with optional quickcheck test cases: Where to put the Arbitrary instances?
- You can't put them into quickcheck - You don't want to put them in the library (because of the quickcheck dependency)
... and because there are two incompatible QuickCheck versions.
- So you have to declare them near the test cases and they're orphan instances
The entire project doesn't issue a single warning when compiling with -Wall *except* two orphan instances when building the test cases...
However, I had sometimes the case, where a type from another library was part of my tests and thus I needed its Arbitrary instance. I could have defined instances for the foreign types, but they would have been orphan and I risk that the library author decides to add the instances later.