Skip to content

Instantly share code, notes, and snippets.

@rubik
Created November 6, 2015 21:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rubik/f4c09f75413591762213 to your computer and use it in GitHub Desktop.
Save rubik/f4c09f75413591762213 to your computer and use it in GitHub Desktop.
test/Spec.hs:57:44:
Couldn't match type ‘m’ with ‘Pipes.Safe.SafeT IO’
‘m’ is a rigid type variable bound by
the type signature for
shouldReturnP :: (MonadIO m, MonadSafe m) =>
IO (Producer FilePath m ()) -> [FilePath] -> Expectation
at test/Spec.hs:53:18
Expected type: Producer FilePath (Pipes.Safe.SafeT IO) ()
Actual type: Producer FilePath m ()
Relevant bindings include
prod :: Producer FilePath m () (bound at test/Spec.hs:56:5)
action :: IO (Producer FilePath m ())
(bound at test/Spec.hs:55:15)
shouldReturnP :: IO (Producer FilePath m ())
-> [FilePath] -> Expectation
(bound at test/Spec.hs:55:1)
In the second argument of ‘evalStateT’, namely ‘prod’
In the second argument of ‘($)’, namely ‘evalStateT drawAll prod’
test/Spec.hs:173:46:
No instance for (MonadSafe m0)
arising from a use of ‘shouldReturnP’
The type variable ‘m0’ is ambiguous
Note: there are several potential instances:
instance MonadSafe m =>
MonadSafe (exceptions-0.8.0.2:Control.Monad.Catch.Pure.CatchT m)
-- Defined in ‘Pipes.Safe’
instance MonadSafe m => MonadSafe (Proxy a' a b' b m)
-- Defined in ‘Pipes.Safe’
instance (MonadIO m,
exceptions-0.8.0.2:Control.Monad.Catch.MonadCatch m,
exceptions-0.8.0.2:Control.Monad.Catch.MonadMask m) =>
MonadSafe (Pipes.Safe.SafeT m)
-- Defined in ‘Pipes.Safe’
...plus 8 others
In the second argument of ‘($)’, namely
‘allFiles ("test" </> "tree")
`shouldReturnP`
["test" </> "tree" </> "a.hs",
"test" </> "tree" </> "sub2" </> "e.hs",
"test" </> "tree" </> "sub2" </> "a.hs",
"test" </> "tree" </> "sub" </> "c.hs", ....]’
In a stmt of a 'do' block:
it "traverses the filesystem with reversed DFS"
$ allFiles ("test" </> "tree")
`shouldReturnP`
["test" </> "tree" </> "a.hs",
"test" </> "tree" </> "sub2" </> "e.hs",
"test" </> "tree" </> "sub2" </> "a.hs",
"test" </> "tree" </> "sub" </> "c.hs", ....]
In the second argument of ‘($)’, namely
‘do { it "traverses the filesystem with reversed DFS"
$ allFiles ("test" </> "tree")
`shouldReturnP`
["test" </> "tree" </> "a.hs",
"test" </> "tree" </> "sub2" </> "e.hs", ....];
it "includes starting files in the result"
$ allFiles ("test" </> "tree" </> "a.hs")
`shouldReturnP` ["test" </> "tree" </> "a.hs"] }’
test/Spec.hs:181:57:
No instance for (MonadSafe m1)
arising from a use of ‘shouldReturnP’
The type variable ‘m1’ is ambiguous
Note: there are several potential instances:
instance MonadSafe m =>
MonadSafe (exceptions-0.8.0.2:Control.Monad.Catch.Pure.CatchT m)
-- Defined in ‘Pipes.Safe’
instance MonadSafe m => MonadSafe (Proxy a' a b' b m)
-- Defined in ‘Pipes.Safe’
instance (MonadIO m,
exceptions-0.8.0.2:Control.Monad.Catch.MonadCatch m,
exceptions-0.8.0.2:Control.Monad.Catch.MonadMask m) =>
MonadSafe (Pipes.Safe.SafeT m)
-- Defined in ‘Pipes.Safe’
...plus 8 others
In the second argument of ‘($)’, namely
‘allFiles ("test" </> "tree" </> "a.hs")
`shouldReturnP` ["test" </> "tree" </> "a.hs"]’
In a stmt of a 'do' block:
it "includes starting files in the result"
$ allFiles ("test" </> "tree" </> "a.hs")
`shouldReturnP` ["test" </> "tree" </> "a.hs"]
In the second argument of ‘($)’, namely
‘do { it "traverses the filesystem with reversed DFS"
$ allFiles ("test" </> "tree")
`shouldReturnP`
["test" </> "tree" </> "a.hs",
"test" </> "tree" </> "sub2" </> "e.hs", ....];
it "includes starting files in the result"
$ allFiles ("test" </> "tree" </> "a.hs")
`shouldReturnP` ["test" </> "tree" </> "a.hs"] }’
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment