From c9082cf0e41b067251a4fb71cd96dda779f7ec21 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 5 Sep 2016 14:52:06 -0400 Subject: [PATCH] move Arbitrary instance to new Types.Transfer module Avoid orphan instance warning --- Logs/Transfer.hs | 13 ------------- Types/Transfer.hs | 11 +++++++++++ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/Logs/Transfer.hs b/Logs/Transfer.hs index 37c637af34..65a4e3796d 100644 --- a/Logs/Transfer.hs +++ b/Logs/Transfer.hs @@ -5,7 +5,6 @@ - Licensed under the GNU GPL version 3 or higher. -} -{-# OPTIONS_GHC -fno-warn-orphans #-} {-# LANGUAGE CPP #-} module Logs.Transfer where @@ -16,7 +15,6 @@ import Annex.Perms import qualified Git import Utility.Metered import Utility.Percentage -import Utility.QuickCheck import Utility.PID import Annex.LockPool import Logs.TimeStamp @@ -292,17 +290,6 @@ failedTransferDir u direction r = gitAnnexTransferDir r showLcDirection direction filter (/= '/') (fromUUID u) -instance Arbitrary TransferInfo where - arbitrary = TransferInfo - <$> arbitrary - <*> arbitrary - <*> pure Nothing -- cannot generate a ThreadID - <*> pure Nothing -- remote not needed - <*> arbitrary - -- associated file cannot be empty (but can be Nothing) - <*> arbitrary `suchThat` (/= Just "") - <*> arbitrary - prop_read_write_transferinfo :: TransferInfo -> Bool prop_read_write_transferinfo info | isJust (transferRemote info) = True -- remote not stored diff --git a/Types/Transfer.hs b/Types/Transfer.hs index 528d1d5cbd..905b29ea25 100644 --- a/Types/Transfer.hs +++ b/Types/Transfer.hs @@ -9,6 +9,7 @@ module Types.Transfer where import Types import Utility.PID +import Utility.QuickCheck import Data.Time.Clock.POSIX import Control.Concurrent @@ -45,3 +46,13 @@ stubTransferInfo = TransferInfo Nothing Nothing Nothing Nothing Nothing Nothing data Direction = Upload | Download deriving (Eq, Ord, Read, Show) +instance Arbitrary TransferInfo where + arbitrary = TransferInfo + <$> arbitrary + <*> arbitrary + <*> pure Nothing -- cannot generate a ThreadID + <*> pure Nothing -- remote not needed + <*> arbitrary + -- associated file cannot be empty (but can be Nothing) + <*> arbitrary `suchThat` (/= Just "") + <*> arbitrary