Merge pull request #330 from obsidiansystems/func-equal
Fix for function equality issues
This commit is contained in:
commit
52f0f4cef5
|
@ -65,6 +65,10 @@ in haskellPackages.developPackage {
|
|||
else {};
|
||||
|
||||
modifier = drv: pkgs.haskell.lib.overrideCabal drv (attrs: {
|
||||
buildTools = (attrs.buildTools or []) ++ [
|
||||
pkgs.haskell.packages.${compiler}.cabal-install
|
||||
];
|
||||
|
||||
testHaskellDepends = attrs.testHaskellDepends ++
|
||||
[ pkgs.nix
|
||||
|
||||
|
|
|
@ -219,7 +219,10 @@ isClosureNF _ = False
|
|||
|
||||
thunkEq :: MonadThunk (NValue m) (NThunk m) m
|
||||
=> NThunk m -> NThunk m -> m Bool
|
||||
thunkEq lt rt = force lt $ \lv -> force rt $ \rv -> valueEq lv rv
|
||||
thunkEq lt rt = force lt $ \lv -> force rt $ \rv ->
|
||||
case (lv, rv) of
|
||||
(NVClosure _ _, NVClosure _ _) -> pure True
|
||||
_ -> valueEq lv rv
|
||||
|
||||
-- | Checks whether two containers are equal, using the given item equality
|
||||
-- predicate. If there are any item slots that don't match between the two
|
||||
|
|
|
@ -277,6 +277,15 @@ case_fixed_points_attrsets =
|
|||
in fix f
|
||||
|]
|
||||
|
||||
case_function_equals1 =
|
||||
constantEqualText "true" "{f = x: x;} == {f = x: x;}"
|
||||
|
||||
case_function_equals2 =
|
||||
constantEqualText "true" "[(x: x)] == [(x: x)]"
|
||||
|
||||
case_function_equals3 =
|
||||
constantEqualText "false" "(x: x) == (x: x)"
|
||||
|
||||
-- jww (2018-05-02): This constantly changes!
|
||||
-- case_placeholder =
|
||||
-- constantEqualText
|
||||
|
|
Loading…
Reference in a new issue