Allow overlapping Arbitrary for Face and System
authorCyril Cohen <cohen@crans.org>
Thu, 11 May 2017 14:35:54 +0000 (16:35 +0200)
committerCyril Cohen <cohen@crans.org>
Thu, 11 May 2017 14:35:54 +0000 (16:35 +0200)
Connections.hs

index 96730722f9efbf1b37dc1988f5b627e9d9e5f94e..8e15172a0ee411d228316a4e3f35d1a425da9a66 100644 (file)
@@ -59,7 +59,7 @@ instance Arbitrary Dir where
 -- Faces of the form: [(i,0),(j,1),(k,0)]
 type Face = Map Name Dir
 
-instance Arbitrary Face where
+instance {-# OVERLAPPING #-} Arbitrary Face where
   arbitrary = fromList <$> arbitrary
 
 showFace :: Face -> String
@@ -443,7 +443,7 @@ border v = mapWithKey (const . face v)
 shape :: System a -> System ()
 shape = border ()
 
-instance (Nominal a, Arbitrary a) => Arbitrary (System a) where
+instance {-# OVERLAPPING #-} (Nominal a, Arbitrary a) => Arbitrary (System a) where
   arbitrary = do
     a <- arbitrary
     border a <$> arbitraryShape (support a)