$ /nix/store/9ypz3flqsrl5xl495mm8h645gadjsxi1-coreutils-9.11/bin/timeout --kill-after=15s 7200s /nix/store/23zk8sgzamrbmj1fday15szf7f2279s8-nix-2.34.7/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link --print-out-paths git+https://github.com/NorfairKing/sydtest?ref=mutation-redundancy&rev=1264c2a674bdf1f7760efc29305b9c89863c2aba#checks.x86_64-linux.mutation-sydtest-mutation-example --print-build-logs warning: ignoring untrusted flake configuration setting 'extra-substituters'. Pass '--accept-flake-config' to trust it warning: ignoring untrusted flake configuration setting 'extra-trusted-public-keys'. Pass '--accept-flake-config' to trust it  Building /nix/store/xm0vx7c91k4kzsx115acivf4cijmhf8z-sydtest-mutation-example-mutation-report.drv [sydtest-mutation-example-mutation-report] Phase: patchPhase [sydtest-mutation-example-mutation-report] Phase: updateAutotoolsGnuConfigScriptsPhase [sydtest-mutation-example-mutation-report] Phase: configurePhase [sydtest-mutation-example-mutation-report] no configure script, doing nothing [sydtest-mutation-example-mutation-report] Phase: buildPhase [sydtest-mutation-example-mutation-report] coverage (1/61): running Example\.LibSpec.addOne.returns 2 for input 1 [sydtest-mutation-example-mutation-report] coverage (2/61): running Example\.LibSpec.addOne.returns 6 for input 5 [sydtest-mutation-example-mutation-report] coverage (3/61): running Example\.DoLibSpec.greet.greets loudly [sydtest-mutation-example-mutation-report] coverage (4/61): running Example\.DoLibSpec.greet.greets quietly [sydtest-mutation-example-mutation-report] coverage (1/61): done Example\.LibSpec.addOne.returns 2 for input 1 (4 mutations) [sydtest-mutation-example-mutation-report] coverage (7/61): running Example\.LogicLibSpec.eitherPositive.is True when only the second is positive [sydtest-mutation-example-mutation-report] coverage (4/61): done Example\.DoLibSpec.greet.greets quietly (8 mutations) [sydtest-mutation-example-mutation-report] coverage (5/61): running Example\.LogicLibSpec.eitherPositive.is True when both are positive [sydtest-mutation-example-mutation-report] coverage (7/61): done Example\.LogicLibSpec.eitherPositive.is True when only the second is positive (18 mutations) [sydtest-mutation-example-mutation-report] coverage (6/61): running Example\.LogicLibSpec.eitherPositive.is False when neither is positive [sydtest-mutation-example-mutation-report] coverage (3/61): done Example\.DoLibSpec.greet.greets loudly (9 mutations) [sydtest-mutation-example-mutation-report] coverage (10/61): running Example\.LogicLibSpec.bothPositive.is False when only the first is positive [sydtest-mutation-example-mutation-report] coverage (6/61): done Example\.LogicLibSpec.eitherPositive.is False when neither is positive (18 mutations) [sydtest-mutation-example-mutation-report] coverage (8/61): running Example\.LogicLibSpec.eitherPositive.is True when only the first is positive [sydtest-mutation-example-mutation-report] coverage (5/61): done Example\.LogicLibSpec.eitherPositive.is True when both are positive (11 mutations) [sydtest-mutation-example-mutation-report] coverage (11/61): running Example\.LogicLibSpec.bothPositive.is True when both are positive [sydtest-mutation-example-mutation-report] coverage (10/61): done Example\.LogicLibSpec.bothPositive.is False when only the first is positive (18 mutations) [sydtest-mutation-example-mutation-report] coverage (12/61): running Example\.LogicLibSpec.bothPositive.is False when neither is positive [sydtest-mutation-example-mutation-report] coverage (8/61): done Example\.LogicLibSpec.eitherPositive.is True when only the first is positive (11 mutations) [sydtest-mutation-example-mutation-report] coverage (13/61): running Example\.FunctionExceptionLibSpec.addOneFunctionDisabled.increments by one [sydtest-mutation-example-mutation-report] coverage (11/61): done Example\.LogicLibSpec.bothPositive.is True when both are positive (18 mutations) [sydtest-mutation-example-mutation-report] coverage (9/61): running Example\.LogicLibSpec.bothPositive.is False when only the second is positive [sydtest-mutation-example-mutation-report] coverage (12/61): done Example\.LogicLibSpec.bothPositive.is False when neither is positive (11 mutations) [sydtest-mutation-example-mutation-report] coverage (15/61): running Example\.FunctionExceptionLibSpec.addOneArithAndIntLitDisabled.increments by one [sydtest-mutation-example-mutation-report] coverage (9/61): done Example\.LogicLibSpec.bothPositive.is False when only the second is positive (11 mutations) [sydtest-mutation-example-mutation-report] coverage (14/61): running Example\.FunctionExceptionLibSpec.addOneArithDisabled.increments by one [sydtest-mutation-example-mutation-report] coverage (13/61): done Example\.FunctionExceptionLibSpec.addOneFunctionDisabled.increments by one (0 mutations) [sydtest-mutation-example-mutation-report] coverage (16/61): running Example\.CaseLibSpec.describeList.describes singleton lists [sydtest-mutation-example-mutation-report] coverage (15/61): done Example\.FunctionExceptionLibSpec.addOneArithAndIntLitDisabled.increments by one (0 mutations) [sydtest-mutation-example-mutation-report] coverage (17/61): running Example\.CaseLibSpec.describeList.describes longer lists [sydtest-mutation-example-mutation-report] coverage (16/61): done Example\.CaseLibSpec.describeList.describes singleton lists (5 mutations) [sydtest-mutation-example-mutation-report] coverage (18/61): running Example\.CaseLibSpec.describeList.describes empty lists [sydtest-mutation-example-mutation-report] coverage (14/61): done Example\.FunctionExceptionLibSpec.addOneArithDisabled.increments by one (2 mutations) [sydtest-mutation-example-mutation-report] coverage (19/61): running Example\.OtherwiseLibSpec.classify.classifies zero [sydtest-mutation-example-mutation-report] coverage (17/61): done Example\.CaseLibSpec.describeList.describes longer lists (5 mutations) [sydtest-mutation-example-mutation-report] coverage (20/61): running Example\.OtherwiseLibSpec.classify.classifies positive numbers [sydtest-mutation-example-mutation-report] coverage (18/61): done Example\.CaseLibSpec.describeList.describes empty lists (5 mutations) [sydtest-mutation-example-mutation-report] coverage (22/61): running Example\.LocalDisableLibSpec.withInnerDisabled.is False when given True [sydtest-mutation-example-mutation-report] coverage (19/61): done Example\.OtherwiseLibSpec.classify.classifies zero (10 mutations) [sydtest-mutation-example-mutation-report] coverage (21/61): running Example\.OtherwiseLibSpec.classify.classifies negative numbers [sydtest-mutation-example-mutation-report] coverage (20/61): done Example\.OtherwiseLibSpec.classify.classifies positive numbers (10 mutations) [sydtest-mutation-example-mutation-report] coverage (23/61): running Example\.LocalDisableLibSpec.withInnerDisabled.is True when given False [sydtest-mutation-example-mutation-report] coverage (22/61): done Example\.LocalDisableLibSpec.withInnerDisabled.is False when given True (6 mutations) [sydtest-mutation-example-mutation-report] coverage (25/61): running Example\.LocalDisableLibSpec.withBindKept.passes the input through the toggle function (False -> True) [sydtest-mutation-example-mutation-report] coverage (21/61): done Example\.OtherwiseLibSpec.classify.classifies negative numbers (7 mutations) [sydtest-mutation-example-mutation-report] coverage (24/61): running Example\.LocalDisableLibSpec.withBindKept.passes the input through the toggle function (True -> False) [sydtest-mutation-example-mutation-report] coverage (23/61): done Example\.LocalDisableLibSpec.withInnerDisabled.is True when given False (6 mutations) [sydtest-mutation-example-mutation-report] coverage (27/61): running Example\.LocalDisableLibSpec.withInnerKept.is True when given False [sydtest-mutation-example-mutation-report] coverage (25/61): done Example\.LocalDisableLibSpec.withBindKept.passes the input through the toggle function (False -> True) (6 mutations) [sydtest-mutation-example-mutation-report] coverage (26/61): running Example\.LocalDisableLibSpec.withInnerKept.is False when given True [sydtest-mutation-example-mutation-report] coverage (24/61): done Example\.LocalDisableLibSpec.withBindKept.passes the input through the toggle function (True -> False) (6 mutations) [sydtest-mutation-example-mutation-report] coverage (28/61): running Example\.LocalDisableLibSpec.withInnerBoolLitDisabled.is True when given False [sydtest-mutation-example-mutation-report] coverage (27/61): done Example\.LocalDisableLibSpec.withInnerKept.is True when given False (12 mutations) [sydtest-mutation-example-mutation-report] coverage (29/61): running Example\.LocalDisableLibSpec.withInnerBoolLitDisabled.is False when given True [sydtest-mutation-example-mutation-report] coverage (26/61): done Example\.LocalDisableLibSpec.withInnerKept.is False when given True (12 mutations) [sydtest-mutation-example-mutation-report] coverage (31/61): running Example\.LocalDisableLibSpec.withBindDisabled.passes the input through the toggle function (True -> False) [sydtest-mutation-example-mutation-report] coverage (28/61): done Example\.LocalDisableLibSpec.withInnerBoolLitDisabled.is True when given False (8 mutations) [sydtest-mutation-example-mutation-report] coverage (30/61): running Example\.LocalDisableLibSpec.withBindDisabled.passes the input through the toggle function (False -> True) [sydtest-mutation-example-mutation-report] coverage (29/61): done Example\.LocalDisableLibSpec.withInnerBoolLitDisabled.is False when given True (8 mutations) [sydtest-mutation-example-mutation-report] coverage (32/61): running Example\.ExceptionLibSpec.addOneModuleDisabled.increments by one [sydtest-mutation-example-mutation-report] coverage (31/61): done Example\.LocalDisableLibSpec.withBindDisabled.passes the input through the toggle function (True -> False) (3 mutations) [sydtest-mutation-example-mutation-report] coverage (33/61): running Example\.ConstFnLibSpec.impliesPair.accepts (True, True) [sydtest-mutation-example-mutation-report] coverage (30/61): done Example\.LocalDisableLibSpec.withBindDisabled.passes the input through the toggle function (False -> True) (3 mutations) [sydtest-mutation-example-mutation-report] coverage (34/61): running Example\.ConstFnLibSpec.impliesPair.rejects (True, False) [sydtest-mutation-example-mutation-report] coverage (32/61): done Example\.ExceptionLibSpec.addOneModuleDisabled.increments by one (0 mutations) [sydtest-mutation-example-mutation-report] coverage (35/61): running Example\.ConstFnLibSpec.impliesPair.accepts (False, False) [sydtest-mutation-example-mutation-report] coverage (33/61): done Example\.ConstFnLibSpec.impliesPair.accepts (True, True) (22 mutations) [sydtest-mutation-example-mutation-report] coverage (36/61): running Example\.ConstFnLibSpec.majorityOf5.matches the reference majority on every boolean input [sydtest-mutation-example-mutation-report] coverage (34/61): done Example\.ConstFnLibSpec.impliesPair.rejects (True, False) (22 mutations) [sydtest-mutation-example-mutation-report] coverage (38/61): running Example\.ConstFnLibSpec.majorityOf5.is False when only 2 of 5 are True [sydtest-mutation-example-mutation-report] coverage (35/61): done Example\.ConstFnLibSpec.impliesPair.accepts (False, False) (16 mutations) [sydtest-mutation-example-mutation-report] coverage (39/61): running Example\.ConstFnLibSpec.majorityOf5.is True when all 5 are True [sydtest-mutation-example-mutation-report] coverage (36/61): done Example\.ConstFnLibSpec.majorityOf5.matches the reference majority on every boolean input (35 mutations) [sydtest-mutation-example-mutation-report] coverage (37/61): running Example\.ConstFnLibSpec.majorityOf5.is False when all 5 are False [sydtest-mutation-example-mutation-report] coverage (38/61): done Example\.ConstFnLibSpec.majorityOf5.is False when only 2 of 5 are True (35 mutations) [sydtest-mutation-example-mutation-report] coverage (40/61): running Example\.ConstFnLibSpec.majorityOf5.is True when 3 of 5 are True [sydtest-mutation-example-mutation-report] coverage (39/61): done Example\.ConstFnLibSpec.majorityOf5.is True when all 5 are True (35 mutations) [sydtest-mutation-example-mutation-report] coverage (41/61): running Example\.ConstFnLibSpec.implies.True implies True [sydtest-mutation-example-mutation-report] coverage (37/61): done Example\.ConstFnLibSpec.majorityOf5.is False when all 5 are False (35 mutations) [sydtest-mutation-example-mutation-report] coverage (42/61): running Example\.ConstFnLibSpec.implies.False implies anything [sydtest-mutation-example-mutation-report] coverage (2/61): done Example\.LibSpec.addOne.returns 6 for input 5 (4 mutations) [sydtest-mutation-example-mutation-report] coverage (44/61): running Example\.ConstFnLibSpec.firstChar.returns Nothing for the empty string [sydtest-mutation-example-mutation-report] coverage (41/61): done Example\.ConstFnLibSpec.implies.True implies True (13 mutations) [sydtest-mutation-example-mutation-report] coverage (45/61): running Example\.ConstFnLibSpec.firstChar.returns Just the first character of a non-empty string [sydtest-mutation-example-mutation-report] coverage (42/61): done Example\.ConstFnLibSpec.implies.False implies anything (10 mutations) [sydtest-mutation-example-mutation-report] coverage (46/61): running Example\.ConstFnLibSpec.majorityOf5Wrapper.matches the reference majority on every boolean input [sydtest-mutation-example-mutation-report] coverage (44/61): done Example\.ConstFnLibSpec.firstChar.returns Nothing for the empty string (2 mutations) [sydtest-mutation-example-mutation-report] coverage (48/61): running Example\.ConstFnLibSpec.majorityOf5Wrapper.agrees with majorityOf5 on a 3-out-of-5 tuple [sydtest-mutation-example-mutation-report] coverage (40/61): done Example\.ConstFnLibSpec.majorityOf5.is True when 3 of 5 are True (35 mutations) [sydtest-mutation-example-mutation-report] coverage (47/61): running Example\.ConstFnLibSpec.majorityOf5Wrapper.agrees with majorityOf5 on a 2-out-of-5 tuple [sydtest-mutation-example-mutation-report] coverage (45/61): done Example\.ConstFnLibSpec.firstChar.returns Just the first character of a non-empty string (3 mutations) [sydtest-mutation-example-mutation-report] coverage (50/61): running Example\.ConstFnLibSpec.digitsOf.returns the whole string when every character is a digit [sydtest-mutation-example-mutation-report] coverage (48/61): done Example\.ConstFnLibSpec.majorityOf5Wrapper.agrees with majorityOf5 on a 3-out-of-5 tuple (53 mutations) [sydtest-mutation-example-mutation-report] coverage (49/61): running Example\.ConstFnLibSpec.digitsOf.keeps only the digits [sydtest-mutation-example-mutation-report] coverage (50/61): done Example\.ConstFnLibSpec.digitsOf.returns the whole string when every character is a digit (6 mutations) [sydtest-mutation-example-mutation-report] coverage (51/61): running Example\.ConstFnLibSpec.digitsOf.returns the empty string when no character is a digit [sydtest-mutation-example-mutation-report] coverage (47/61): done Example\.ConstFnLibSpec.majorityOf5Wrapper.agrees with majorityOf5 on a 2-out-of-5 tuple (53 mutations) [sydtest-mutation-example-mutation-report] coverage (52/61): running Example\.BoolLibSpec.wrapTrue.is Just True [sydtest-mutation-example-mutation-report] coverage (49/61): done Example\.ConstFnLibSpec.digitsOf.keeps only the digits (6 mutations) [sydtest-mutation-example-mutation-report] coverage (54/61): running Example\.BoolLibSpec.negateWrapped.negates Just True to Just False [sydtest-mutation-example-mutation-report] coverage (52/61): done Example\.BoolLibSpec.wrapTrue.is Just True (2 mutations) [sydtest-mutation-example-mutation-report] coverage (53/61): running Example\.BoolLibSpec.wrapFalse.is Just False [sydtest-mutation-example-mutation-report] coverage (51/61): done Example\.ConstFnLibSpec.digitsOf.returns the empty string when no character is a digit (6 mutations) [sydtest-mutation-example-mutation-report] coverage (55/61): running Example\.BoolLibSpec.negateWrapped.leaves Nothing as Nothing [sydtest-mutation-example-mutation-report] coverage (54/61): done Example\.BoolLibSpec.negateWrapped.negates Just True to Just False (4 mutations) [sydtest-mutation-example-mutation-report] coverage (56/61): running Example\.BoolLibSpec.negateWrapped.negates Just False to Just True [sydtest-mutation-example-mutation-report] coverage (46/61): done Example\.ConstFnLibSpec.majorityOf5Wrapper.matches the reference majority on every boolean input (53 mutations) [sydtest-mutation-example-mutation-report] coverage (58/61): running Example\.ListLibSpec.pairConcat.concatenates both arguments [sydtest-mutation-example-mutation-report] coverage (53/61): done Example\.BoolLibSpec.wrapFalse.is Just False (2 mutations) [sydtest-mutation-example-mutation-report] coverage (60/61): running Example\.ListLibSpec.tripleConcat.distinguishes the last element [sydtest-mutation-example-mutation-report] coverage (55/61): done Example\.BoolLibSpec.negateWrapped.leaves Nothing as Nothing (2 mutations) [sydtest-mutation-example-mutation-report] coverage (59/61): running Example\.ListLibSpec.tripleConcat.concatenates all three arguments [sydtest-mutation-example-mutation-report] coverage (56/61): done Example\.BoolLibSpec.negateWrapped.negates Just False to Just True (4 mutations) [sydtest-mutation-example-mutation-report] coverage (61/61): running Example\.ListLibSpec.tripleConcat.distinguishes the first element [sydtest-mutation-example-mutation-report] coverage (58/61): done Example\.ListLibSpec.pairConcat.concatenates both arguments (6 mutations) [sydtest-mutation-example-mutation-report] coverage (57/61): running Example\.ListLibSpec.pairConcat.preserves the order [sydtest-mutation-example-mutation-report] coverage (60/61): done Example\.ListLibSpec.tripleConcat.distinguishes the last element (8 mutations) [sydtest-mutation-example-mutation-report] coverage (43/61): running Example\.ConstFnLibSpec.implies.True does not imply False [sydtest-mutation-example-mutation-report] coverage (59/61): done Example\.ListLibSpec.tripleConcat.concatenates all three arguments (8 mutations) [sydtest-mutation-example-mutation-report] coverage (61/61): done Example\.ListLibSpec.tripleConcat.distinguishes the first element (8 mutations) [sydtest-mutation-example-mutation-report] coverage (57/61): done Example\.ListLibSpec.pairConcat.preserves the order (6 mutations) [sydtest-mutation-example-mutation-report] coverage (43/61): done Example\.ConstFnLibSpec.implies.True does not imply False (13 mutations) [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:33-34 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, True, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:30-31 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [True, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:42-43 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, True]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:39-40 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, True, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:71:30-31 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [not (a), b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:71:39-40 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, not (d), e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:26-28 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter (\_ -> True) [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:71:33-34 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, not (b), c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ConstFnLib.hs:71:29-44 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id []) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:71:42-43 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, not (e)]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:36-37 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, True, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:71:36-37 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, not (c), d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ConstFnLib.hs:71:19-44 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length ([]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ConstFnLib.hs:71:18-45 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length [] in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/ConstFnLib.hs:71:54-55 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, e]) in n >= 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ListLit at src/Example/ConstFnLib.hs:71:29-44 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,6 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/ConstFnLib.hs:71:49-55 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, e]) in n < 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:49-55 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, e]) in True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:71:49-55 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, e]) in not (n >= 3) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:3-55 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] -  let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] +  True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:50-51 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 True b c d e [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:52-53 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a True c d e [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:71:3-55 #1 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] -  let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] +  not (let n = length (filter id [a, b, c, d, e]) in n >= 3) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:81:52-53 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a not (b) c d e [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:81:50-51 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 not (a) b c d e [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:54-55 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b True d e [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:81:54-55 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b not (c) d e [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:56-57 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c True e [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:81:56-57 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c not (d) e [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:81:58-59 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d not (e) [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:58-59 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d True [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:81:38-59 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = not (majorityOf5 a b c d e) [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:38-59 #1 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = True [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:55:19-20 #1 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = not True || b [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:55:19-20 #1 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = not not (a) || b [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:55:15-20 #1 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = True || b [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:55:15-20 #1 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = not (not a) || b [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:55:24-25 #1 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = not a || True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:55:24-25 #1 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = not a || not (b) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:55:15-25 #1 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation LogicOp at src/Example/ConstFnLib.hs:55:15-25 #1 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = not a && b [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:55:15-25 #1 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = not (not a || b) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:65:30-31 #1 [sydtest-mutation-example-mutation-report] @@ -62,7 +62,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstBool' arity 2 produces @(\\_ _ -> True)@ and [sydtest-mutation-example-mutation-report]  -- @(\\_ _ -> False)@ mutants. [sydtest-mutation-example-mutation-report]  impliesPair :: (Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -impliesPair (a, b) = implies a b [sydtest-mutation-example-mutation-report] +impliesPair (a, b) = implies True b [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A 5-argument predicate. Used to confirm the 'ConstBool' arity-5 [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:65:30-31 #1 [sydtest-mutation-example-mutation-report] @@ -62,7 +62,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstBool' arity 2 produces @(\\_ _ -> True)@ and [sydtest-mutation-example-mutation-report]  -- @(\\_ _ -> False)@ mutants. [sydtest-mutation-example-mutation-report]  impliesPair :: (Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -impliesPair (a, b) = implies a b [sydtest-mutation-example-mutation-report] +impliesPair (a, b) = implies not (a) b [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A 5-argument predicate. Used to confirm the 'ConstBool' arity-5 [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:65:32-33 #1 [sydtest-mutation-example-mutation-report] @@ -62,7 +62,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstBool' arity 2 produces @(\\_ _ -> True)@ and [sydtest-mutation-example-mutation-report]  -- @(\\_ _ -> False)@ mutants. [sydtest-mutation-example-mutation-report]  impliesPair :: (Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -impliesPair (a, b) = implies a b [sydtest-mutation-example-mutation-report] +impliesPair (a, b) = implies a True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A 5-argument predicate. Used to confirm the 'ConstBool' arity-5 [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:65:32-33 #1 [sydtest-mutation-example-mutation-report] @@ -62,7 +62,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstBool' arity 2 produces @(\\_ _ -> True)@ and [sydtest-mutation-example-mutation-report]  -- @(\\_ _ -> False)@ mutants. [sydtest-mutation-example-mutation-report]  impliesPair :: (Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -impliesPair (a, b) = implies a b [sydtest-mutation-example-mutation-report] +impliesPair (a, b) = implies a not (b) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A 5-argument predicate. Used to confirm the 'ConstBool' arity-5 [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:65:22-33 #1 [sydtest-mutation-example-mutation-report] @@ -62,7 +62,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstBool' arity 2 produces @(\\_ _ -> True)@ and [sydtest-mutation-example-mutation-report]  -- @(\\_ _ -> False)@ mutants. [sydtest-mutation-example-mutation-report]  impliesPair :: (Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -impliesPair (a, b) = implies a b [sydtest-mutation-example-mutation-report] +impliesPair (a, b) = True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A 5-argument predicate. Used to confirm the 'ConstBool' arity-5 [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/ConstFnLib.hs:65:22-33 #1 [sydtest-mutation-example-mutation-report] @@ -62,7 +62,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstBool' arity 2 produces @(\\_ _ -> True)@ and [sydtest-mutation-example-mutation-report]  -- @(\\_ _ -> False)@ mutants. [sydtest-mutation-example-mutation-report]  impliesPair :: (Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -impliesPair (a, b) = implies a b [sydtest-mutation-example-mutation-report] +impliesPair (a, b) = not (implies a b) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A 5-argument predicate. Used to confirm the 'ConstBool' arity-5 [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ConstFnLib.hs:40:14-20 #1 [sydtest-mutation-example-mutation-report] @@ -37,7 +37,7 @@ [sydtest-mutation-example-mutation-report]  -- Helper used by 'digitsOf' to give that call site a non-literal [sydtest-mutation-example-mutation-report]  -- list-returning function to mutate. [sydtest-mutation-example-mutation-report]  keepDigits :: String -> String [sydtest-mutation-example-mutation-report] -keepDigits = filter isDigit [sydtest-mutation-example-mutation-report] +keepDigits = (\_ _ -> []) isDigit [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Get the digits of a 'String'. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ConstFnLib.hs:40:14-28 #1 [sydtest-mutation-example-mutation-report] @@ -37,7 +37,7 @@ [sydtest-mutation-example-mutation-report]  -- Helper used by 'digitsOf' to give that call site a non-literal [sydtest-mutation-example-mutation-report]  -- list-returning function to mutate. [sydtest-mutation-example-mutation-report]  keepDigits :: String -> String [sydtest-mutation-example-mutation-report] -keepDigits = filter isDigit [sydtest-mutation-example-mutation-report] +keepDigits = (\_ -> []) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Get the digits of a 'String'. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ConstFnLib.hs:51:25-26 #1 [sydtest-mutation-example-mutation-report] @@ -48,7 +48,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstEmptyList' arity 1 on the bare @keepDigits :: String -> String@: [sydtest-mutation-example-mutation-report]  -- mutated to @digitsOf s = (\\_ -> []) s@. [sydtest-mutation-example-mutation-report]  digitsOf :: String -> String [sydtest-mutation-example-mutation-report] -digitsOf s = keepDigits s [sydtest-mutation-example-mutation-report] +digitsOf s = keepDigits [] [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:40:21-28 #1 [sydtest-mutation-example-mutation-report] @@ -37,7 +37,7 @@ [sydtest-mutation-example-mutation-report]  -- Helper used by 'digitsOf' to give that call site a non-literal [sydtest-mutation-example-mutation-report]  -- list-returning function to mutate. [sydtest-mutation-example-mutation-report]  keepDigits :: String -> String [sydtest-mutation-example-mutation-report] -keepDigits = filter isDigit [sydtest-mutation-example-mutation-report] +keepDigits = filter (\_ -> True) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Get the digits of a 'String'. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ConstFnLib.hs:51:14-26 #1 [sydtest-mutation-example-mutation-report] @@ -48,7 +48,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstEmptyList' arity 1 on the bare @keepDigits :: String -> String@: [sydtest-mutation-example-mutation-report]  -- mutated to @digitsOf s = (\\_ -> []) s@. [sydtest-mutation-example-mutation-report]  digitsOf :: String -> String [sydtest-mutation-example-mutation-report] -digitsOf s = keepDigits s [sydtest-mutation-example-mutation-report] +digitsOf s = [] [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] Testing mutation MaybeOp at src/Example/ConstFnLib.hs:22:20-26 #1 [sydtest-mutation-example-mutation-report] @@ -19,7 +19,7 @@ [sydtest-mutation-example-mutation-report]  -- skips it ('MaybeOp' handles that one). [sydtest-mutation-example-mutation-report]  safeHead :: [a] -> Maybe a [sydtest-mutation-example-mutation-report]  safeHead [] = Nothing [sydtest-mutation-example-mutation-report] -safeHead (x : _) = Just x [sydtest-mutation-example-mutation-report] +safeHead (x : _) = Nothing [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Get the first character of a 'String' as 'Maybe'. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ConstFnLib.hs:33:24-25 #1 [sydtest-mutation-example-mutation-report] @@ -30,7 +30,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstNothing' arity 1 on the bare @safeHead :: String -> Maybe Char@: [sydtest-mutation-example-mutation-report]  -- mutated to @firstChar s = (\\_ -> Nothing) s@. [sydtest-mutation-example-mutation-report]  firstChar :: String -> Maybe Char [sydtest-mutation-example-mutation-report] -firstChar s = safeHead s [sydtest-mutation-example-mutation-report] +firstChar s = safeHead [] [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Keep only the digit characters from a list. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstNothing at src/Example/ConstFnLib.hs:33:15-25 #1 [sydtest-mutation-example-mutation-report] @@ -30,7 +30,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstNothing' arity 1 on the bare @safeHead :: String -> Maybe Char@: [sydtest-mutation-example-mutation-report]  -- mutated to @firstChar s = (\\_ -> Nothing) s@. [sydtest-mutation-example-mutation-report]  firstChar :: String -> Maybe Char [sydtest-mutation-example-mutation-report] -firstChar s = safeHead s [sydtest-mutation-example-mutation-report] +firstChar s = Nothing [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Keep only the digit characters from a list. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/CaseLib.hs:7:24-26 #1 [sydtest-mutation-example-mutation-report] @@ -4,7 +4,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: RemoveCase removes one of the three alternatives. [sydtest-mutation-example-mutation-report]  describeList :: [a] -> String [sydtest-mutation-example-mutation-report] -describeList xs = case xs of [sydtest-mutation-example-mutation-report] +describeList xs = case [] of [sydtest-mutation-example-mutation-report]  [] -> "empty" [sydtest-mutation-example-mutation-report]  [_] -> "singleton" [sydtest-mutation-example-mutation-report]  _ -> "longer" [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/CaseLib.hs:8:9-16 #1 [sydtest-mutation-example-mutation-report] @@ -5,6 +5,6 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: RemoveCase removes one of the three alternatives. [sydtest-mutation-example-mutation-report]  describeList :: [a] -> String [sydtest-mutation-example-mutation-report]  describeList xs = case xs of [sydtest-mutation-example-mutation-report] - [] -> "empty" [sydtest-mutation-example-mutation-report] + [] -> [] [sydtest-mutation-example-mutation-report]  [_] -> "singleton" [sydtest-mutation-example-mutation-report]  _ -> "longer" [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/CaseLib.hs:9:10-21 #1 [sydtest-mutation-example-mutation-report] @@ -6,5 +6,5 @@ [sydtest-mutation-example-mutation-report]  describeList :: [a] -> String [sydtest-mutation-example-mutation-report]  describeList xs = case xs of [sydtest-mutation-example-mutation-report]  [] -> "empty" [sydtest-mutation-example-mutation-report] - [_] -> "singleton" [sydtest-mutation-example-mutation-report] + [_] -> [] [sydtest-mutation-example-mutation-report]  _ -> "longer" [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/CaseLib.hs:7:19-16 #1 [sydtest-mutation-example-mutation-report] @@ -4,7 +4,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: RemoveCase removes one of the three alternatives. [sydtest-mutation-example-mutation-report]  describeList :: [a] -> String [sydtest-mutation-example-mutation-report] -describeList xs = case xs of [sydtest-mutation-example-mutation-report] - [] -> "empty" [sydtest-mutation-example-mutation-report] - [_] -> "singleton" [sydtest-mutation-example-mutation-report] - _ -> "longer" [sydtest-mutation-example-mutation-report] +describeList xs = [] [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/CaseLib.hs:10:8-16 #1 [sydtest-mutation-example-mutation-report] @@ -7,4 +7,4 @@ [sydtest-mutation-example-mutation-report]  describeList xs = case xs of [sydtest-mutation-example-mutation-report]  [] -> "empty" [sydtest-mutation-example-mutation-report]  [_] -> "singleton" [sydtest-mutation-example-mutation-report] - _ -> "longer" [sydtest-mutation-example-mutation-report] + _ -> [] [sydtest-mutation-example-mutation-report] Testing mutation RemoveCase at src/Example/CaseLib.hs:7:19-16 #1 [sydtest-mutation-example-mutation-report] @@ -4,7 +4,6 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: RemoveCase removes one of the three alternatives. [sydtest-mutation-example-mutation-report]  describeList :: [a] -> String [sydtest-mutation-example-mutation-report]  describeList xs = case xs of [sydtest-mutation-example-mutation-report] - [] -> "empty" [sydtest-mutation-example-mutation-report]  [_] -> "singleton" [sydtest-mutation-example-mutation-report]  _ -> "longer" [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/FunctionExceptionLib.hs:15:29-30 #1 [sydtest-mutation-example-mutation-report] @@ -12,7 +12,7 @@ [sydtest-mutation-example-mutation-report]  -- IntLit mutations (replacing the literal @1@) still apply. [sydtest-mutation-example-mutation-report]  {-# ANN addOneArithDisabled ("DisableMutation: Arith" :: String) #-} [sydtest-mutation-example-mutation-report]  addOneArithDisabled :: Int -> Int [sydtest-mutation-example-mutation-report] -addOneArithDisabled n = n + 1 [sydtest-mutation-example-mutation-report] +addOneArithDisabled n = n + 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Both Arith and IntLit mutations disabled on this function. [sydtest-mutation-example-mutation-report]  {-# ANN addOneArithAndIntLitDisabled ("DisableMutations: Arith, IntLit" :: String) #-} [sydtest-mutation-example-mutation-report] Testing mutation ConstNothing at src/Example/BoolLib.hs:22:17-21 #1 [sydtest-mutation-example-mutation-report] @@ -19,4 +19,4 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Negates a wrapped boolean. [sydtest-mutation-example-mutation-report]  negateWrapped :: Maybe Bool -> Maybe Bool [sydtest-mutation-example-mutation-report] -negateWrapped = fmap not [sydtest-mutation-example-mutation-report] +negateWrapped = (\_ _ -> Nothing) not [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/BoolLib.hs:22:22-25 #1 [sydtest-mutation-example-mutation-report] @@ -19,4 +19,4 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Negates a wrapped boolean. [sydtest-mutation-example-mutation-report]  negateWrapped :: Maybe Bool -> Maybe Bool [sydtest-mutation-example-mutation-report] -negateWrapped = fmap not [sydtest-mutation-example-mutation-report] +negateWrapped = fmap (\_ -> True) [sydtest-mutation-example-mutation-report] Testing mutation ConstNothing at src/Example/BoolLib.hs:22:17-25 #1 [sydtest-mutation-example-mutation-report] @@ -19,4 +19,4 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Negates a wrapped boolean. [sydtest-mutation-example-mutation-report]  negateWrapped :: Maybe Bool -> Maybe Bool [sydtest-mutation-example-mutation-report] -negateWrapped = fmap not [sydtest-mutation-example-mutation-report] +negateWrapped = (\_ -> Nothing) [sydtest-mutation-example-mutation-report] Testing mutation BoolLit at src/Example/BoolLib.hs:18:18-23 #1 [sydtest-mutation-example-mutation-report] @@ -15,7 +15,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: BoolLit/ConstBool on the inner False, MaybeOp on Just False. [sydtest-mutation-example-mutation-report]  wrapFalse :: Maybe Bool [sydtest-mutation-example-mutation-report] -wrapFalse = Just False [sydtest-mutation-example-mutation-report] +wrapFalse = Just True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Negates a wrapped boolean. [sydtest-mutation-example-mutation-report]  negateWrapped :: Maybe Bool -> Maybe Bool [sydtest-mutation-example-mutation-report] Testing mutation MaybeOp at src/Example/BoolLib.hs:18:13-23 #1 [sydtest-mutation-example-mutation-report] @@ -15,7 +15,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: BoolLit/ConstBool on the inner False, MaybeOp on Just False. [sydtest-mutation-example-mutation-report]  wrapFalse :: Maybe Bool [sydtest-mutation-example-mutation-report] -wrapFalse = Just False [sydtest-mutation-example-mutation-report] +wrapFalse = Nothing [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Negates a wrapped boolean. [sydtest-mutation-example-mutation-report]  negateWrapped :: Maybe Bool -> Maybe Bool [sydtest-mutation-example-mutation-report] Testing mutation BoolLit at src/Example/BoolLib.hs:12:17-21 #1 [sydtest-mutation-example-mutation-report] @@ -9,7 +9,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: BoolLit/ConstBool on the inner True, MaybeOp on Just True. [sydtest-mutation-example-mutation-report]  wrapTrue :: Maybe Bool [sydtest-mutation-example-mutation-report] -wrapTrue = Just True [sydtest-mutation-example-mutation-report] +wrapTrue = Just False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Wraps False in Just. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation MaybeOp at src/Example/BoolLib.hs:12:12-21 #1 [sydtest-mutation-example-mutation-report] @@ -9,7 +9,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: BoolLit/ConstBool on the inner True, MaybeOp on Just True. [sydtest-mutation-example-mutation-report]  wrapTrue :: Maybe Bool [sydtest-mutation-example-mutation-report] -wrapTrue = Just True [sydtest-mutation-example-mutation-report] +wrapTrue = Nothing [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Wraps False in Just. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/LogicLib.hs:17:26-27 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a > 1 || b > 0 [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:17:22-27 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a < 0 || b > 0 [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:17:22-27 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = True || b > 0 [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LogicLib.hs:17:22-27 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = not (a > 0) || b > 0 [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/LogicLib.hs:17:35-36 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a > 0 || b > 1 [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:17:31-36 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a > 0 || b < 0 [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:17:31-36 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a > 0 || True [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LogicLib.hs:17:31-36 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a > 0 || not (b > 0) [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:17:22-36 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = True [sydtest-mutation-example-mutation-report] Testing mutation LogicOp at src/Example/LogicLib.hs:17:22-36 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LogicLib.hs:17:22-36 #1 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = not (a > 0 || b > 0) [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/LogicLib.hs:11:24-25 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a > 1 && b > 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:11:20-25 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a < 0 && b > 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LogicLib.hs:11:20-25 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = not (a > 0) && b > 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:11:20-25 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = True && b > 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/LogicLib.hs:11:33-34 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a > 0 && b > 1 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:11:29-34 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a > 0 && b < 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:11:29-34 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a > 0 && True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:11:20-34 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LogicLib.hs:11:29-34 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a > 0 && not (b > 0) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation LogicOp at src/Example/LogicLib.hs:11:20-34 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LogicLib.hs:11:20-34 #1 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = not (a > 0 && b > 0) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ListLib.hs:19:30-31 #1 [sydtest-mutation-example-mutation-report] @@ -16,4 +16,4 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant, a drop-first mutant, [sydtest-mutation-example-mutation-report]  -- and a drop-last mutant on the literal @[a, b, c]@. [sydtest-mutation-example-mutation-report]  tripleConcat :: String -> String -> String -> String [sydtest-mutation-example-mutation-report] -tripleConcat a b c = concat [a, b, c] [sydtest-mutation-example-mutation-report] +tripleConcat a b c = concat [[], b, c] [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ListLib.hs:19:33-34 #1 [sydtest-mutation-example-mutation-report] @@ -16,4 +16,4 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant, a drop-first mutant, [sydtest-mutation-example-mutation-report]  -- and a drop-last mutant on the literal @[a, b, c]@. [sydtest-mutation-example-mutation-report]  tripleConcat :: String -> String -> String -> String [sydtest-mutation-example-mutation-report] -tripleConcat a b c = concat [a, b, c] [sydtest-mutation-example-mutation-report] +tripleConcat a b c = concat [a, [], c] [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ListLib.hs:19:36-37 #1 [sydtest-mutation-example-mutation-report] @@ -16,4 +16,4 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant, a drop-first mutant, [sydtest-mutation-example-mutation-report]  -- and a drop-last mutant on the literal @[a, b, c]@. [sydtest-mutation-example-mutation-report]  tripleConcat :: String -> String -> String -> String [sydtest-mutation-example-mutation-report] -tripleConcat a b c = concat [a, b, c] [sydtest-mutation-example-mutation-report] +tripleConcat a b c = concat [a, b, []] [sydtest-mutation-example-mutation-report] Testing mutation ListLit at src/Example/ListLib.hs:19:29-38 #1 [sydtest-mutation-example-mutation-report] @@ -16,4 +16,3 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant, a drop-first mutant, [sydtest-mutation-example-mutation-report]  -- and a drop-last mutant on the literal @[a, b, c]@. [sydtest-mutation-example-mutation-report]  tripleConcat :: String -> String -> String -> String [sydtest-mutation-example-mutation-report] -tripleConcat a b c = concat [a, b, c] [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ListLib.hs:19:29-38 #1 [sydtest-mutation-example-mutation-report] @@ -16,4 +16,4 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant, a drop-first mutant, [sydtest-mutation-example-mutation-report]  -- and a drop-last mutant on the literal @[a, b, c]@. [sydtest-mutation-example-mutation-report]  tripleConcat :: String -> String -> String -> String [sydtest-mutation-example-mutation-report] -tripleConcat a b c = concat [a, b, c] [sydtest-mutation-example-mutation-report] +tripleConcat a b c = concat [] [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ListLib.hs:19:22-38 #1 [sydtest-mutation-example-mutation-report] @@ -16,4 +16,4 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant, a drop-first mutant, [sydtest-mutation-example-mutation-report]  -- and a drop-last mutant on the literal @[a, b, c]@. [sydtest-mutation-example-mutation-report]  tripleConcat :: String -> String -> String -> String [sydtest-mutation-example-mutation-report] -tripleConcat a b c = concat [a, b, c] [sydtest-mutation-example-mutation-report] +tripleConcat a b c = [] [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ListLib.hs:12:29-30 #1 [sydtest-mutation-example-mutation-report] @@ -9,7 +9,7 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant and a drop-first [sydtest-mutation-example-mutation-report]  -- mutant on the literal @[a, b]@. [sydtest-mutation-example-mutation-report]  pairConcat :: String -> String -> String [sydtest-mutation-example-mutation-report] -pairConcat a b = concat [a, b] [sydtest-mutation-example-mutation-report] +pairConcat a b = concat [a, []] [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Concatenate a three-element list of strings. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ListLib.hs:12:26-27 #1 [sydtest-mutation-example-mutation-report] @@ -9,7 +9,7 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant and a drop-first [sydtest-mutation-example-mutation-report]  -- mutant on the literal @[a, b]@. [sydtest-mutation-example-mutation-report]  pairConcat :: String -> String -> String [sydtest-mutation-example-mutation-report] -pairConcat a b = concat [a, b] [sydtest-mutation-example-mutation-report] +pairConcat a b = concat [[], b] [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Concatenate a three-element list of strings. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ListLib.hs:12:25-31 #1 [sydtest-mutation-example-mutation-report] @@ -9,7 +9,7 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant and a drop-first [sydtest-mutation-example-mutation-report]  -- mutant on the literal @[a, b]@. [sydtest-mutation-example-mutation-report]  pairConcat :: String -> String -> String [sydtest-mutation-example-mutation-report] -pairConcat a b = concat [a, b] [sydtest-mutation-example-mutation-report] +pairConcat a b = concat [] [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Concatenate a three-element list of strings. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ListLit at src/Example/ListLib.hs:12:25-31 #1 [sydtest-mutation-example-mutation-report] @@ -9,7 +9,6 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant and a drop-first [sydtest-mutation-example-mutation-report]  -- mutant on the literal @[a, b]@. [sydtest-mutation-example-mutation-report]  pairConcat :: String -> String -> String [sydtest-mutation-example-mutation-report] -pairConcat a b = concat [a, b] [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Concatenate a three-element list of strings. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/ListLib.hs:12:18-31 #1 [sydtest-mutation-example-mutation-report] @@ -9,7 +9,7 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant and a drop-first [sydtest-mutation-example-mutation-report]  -- mutant on the literal @[a, b]@. [sydtest-mutation-example-mutation-report]  pairConcat :: String -> String -> String [sydtest-mutation-example-mutation-report] -pairConcat a b = concat [a, b] [sydtest-mutation-example-mutation-report] +pairConcat a b = [] [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Concatenate a three-element list of strings. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/Lib.hs:8:16-17 #1 [sydtest-mutation-example-mutation-report] @@ -5,4 +5,4 @@ [sydtest-mutation-example-mutation-report]  -- The literal '1' here is a mutation site: the plugin will also compile a [sydtest-mutation-example-mutation-report]  -- version where this returns @n + 0@ instead of @n + 1@. [sydtest-mutation-example-mutation-report]  addOne :: Int -> Int [sydtest-mutation-example-mutation-report] -addOne n = n + 1 [sydtest-mutation-example-mutation-report] +addOne n = n + 0 [sydtest-mutation-example-mutation-report] Testing mutation Arith at src/Example/Lib.hs:8:12-17 #1 [sydtest-mutation-example-mutation-report] @@ -5,4 +5,4 @@ [sydtest-mutation-example-mutation-report]  -- The literal '1' here is a mutation site: the plugin will also compile a [sydtest-mutation-example-mutation-report]  -- version where this returns @n + 0@ instead of @n + 1@. [sydtest-mutation-example-mutation-report]  addOne :: Int -> Int [sydtest-mutation-example-mutation-report] -addOne n = n + 1 [sydtest-mutation-example-mutation-report] +addOne n = n - 1 [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:58:19-20 #1 [sydtest-mutation-example-mutation-report] @@ -55,5 +55,5 @@ [sydtest-mutation-example-mutation-report]  -- @toggle b@ is fully instrumented. [sydtest-mutation-example-mutation-report]  withBindKept :: (Bool -> IO Bool) -> Bool -> IO Bool [sydtest-mutation-example-mutation-report]  withBindKept toggle b = do [sydtest-mutation-example-mutation-report] - inner <- toggle b [sydtest-mutation-example-mutation-report] + inner <- toggle True [sydtest-mutation-example-mutation-report]  pure inner [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:58:19-20 #1 [sydtest-mutation-example-mutation-report] @@ -55,5 +55,5 @@ [sydtest-mutation-example-mutation-report]  -- @toggle b@ is fully instrumented. [sydtest-mutation-example-mutation-report]  withBindKept :: (Bool -> IO Bool) -> Bool -> IO Bool [sydtest-mutation-example-mutation-report]  withBindKept toggle b = do [sydtest-mutation-example-mutation-report] - inner <- toggle b [sydtest-mutation-example-mutation-report] + inner <- toggle not (b) [sydtest-mutation-example-mutation-report]  pure inner [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:59:8-13 #1 [sydtest-mutation-example-mutation-report] @@ -56,4 +56,4 @@ [sydtest-mutation-example-mutation-report]  withBindKept :: (Bool -> IO Bool) -> Bool -> IO Bool [sydtest-mutation-example-mutation-report]  withBindKept toggle b = do [sydtest-mutation-example-mutation-report]  inner <- toggle b [sydtest-mutation-example-mutation-report] - pure inner [sydtest-mutation-example-mutation-report] + pure True [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:59:8-13 #1 [sydtest-mutation-example-mutation-report] @@ -56,4 +56,4 @@ [sydtest-mutation-example-mutation-report]  withBindKept :: (Bool -> IO Bool) -> Bool -> IO Bool [sydtest-mutation-example-mutation-report]  withBindKept toggle b = do [sydtest-mutation-example-mutation-report]  inner <- toggle b [sydtest-mutation-example-mutation-report] - pure inner [sydtest-mutation-example-mutation-report] + pure not (inner) [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:52:8-13 #1 [sydtest-mutation-example-mutation-report] @@ -49,7 +49,7 @@ [sydtest-mutation-example-mutation-report]  withBindDisabled :: (Bool -> IO Bool) -> Bool -> IO Bool [sydtest-mutation-example-mutation-report]  withBindDisabled toggle b = do [sydtest-mutation-example-mutation-report]  inner <- toggle b [sydtest-mutation-example-mutation-report] - pure inner [sydtest-mutation-example-mutation-report] + pure True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control for 'withBindDisabled': no disable annotation, so the RHS [sydtest-mutation-example-mutation-report]  -- @toggle b@ is fully instrumented. [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:52:8-13 #1 [sydtest-mutation-example-mutation-report] @@ -49,7 +49,7 @@ [sydtest-mutation-example-mutation-report]  withBindDisabled :: (Bool -> IO Bool) -> Bool -> IO Bool [sydtest-mutation-example-mutation-report]  withBindDisabled toggle b = do [sydtest-mutation-example-mutation-report]  inner <- toggle b [sydtest-mutation-example-mutation-report] - pure inner [sydtest-mutation-example-mutation-report] + pure not (inner) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control for 'withBindDisabled': no disable annotation, so the RHS [sydtest-mutation-example-mutation-report]  -- @toggle b@ is fully instrumented. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:36:19-20 #1 [sydtest-mutation-example-mutation-report] @@ -33,7 +33,7 @@ [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] + let inner = not True [sydtest-mutation-example-mutation-report]  in inner [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:36:19-20 #1 [sydtest-mutation-example-mutation-report] @@ -33,7 +33,7 @@ [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] + let inner = not not (b) [sydtest-mutation-example-mutation-report]  in inner [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:36:15-20 #1 [sydtest-mutation-example-mutation-report] @@ -33,7 +33,7 @@ [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] + let inner = True [sydtest-mutation-example-mutation-report]  in inner [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:36:15-20 #1 [sydtest-mutation-example-mutation-report] @@ -33,7 +33,7 @@ [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] + let inner = not (not b) [sydtest-mutation-example-mutation-report]  in inner [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:37:7-12 #1 [sydtest-mutation-example-mutation-report] @@ -34,7 +34,7 @@ [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report]  let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + in True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report]  -- by a @do@-block @<-@ statement instead of a @let@. The annotation [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:37:7-12 #1 [sydtest-mutation-example-mutation-report] @@ -34,7 +34,7 @@ [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report]  let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + in not (inner) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report]  -- by a @do@-block @<-@ statement instead of a @let@. The annotation [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:36:3-12 #1 [sydtest-mutation-example-mutation-report] @@ -33,8 +33,7 @@ [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report]  -- by a @do@-block @<-@ statement instead of a @let@. The annotation [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:29:19-20 #1 [sydtest-mutation-example-mutation-report] @@ -26,7 +26,7 @@ [sydtest-mutation-example-mutation-report]  {-# ANN withInnerBoolLitDisabled ("DisableMutationsFor inner: ConstBool" :: String) #-} [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] + let inner = not not (b) [sydtest-mutation-example-mutation-report]  in inner [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control: no disable annotation. Both @ConstBool@ and @Negate@ fire [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:36:3-12 #1 [sydtest-mutation-example-mutation-report] @@ -33,8 +33,8 @@ [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + not (let inner = not b [sydtest-mutation-example-mutation-report] + in inner) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report]  -- by a @do@-block @<-@ statement instead of a @let@. The annotation [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:29:15-20 #1 [sydtest-mutation-example-mutation-report] @@ -26,7 +26,7 @@ [sydtest-mutation-example-mutation-report]  {-# ANN withInnerBoolLitDisabled ("DisableMutationsFor inner: ConstBool" :: String) #-} [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] + let inner = not (not b) [sydtest-mutation-example-mutation-report]  in inner [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control: no disable annotation. Both @ConstBool@ and @Negate@ fire [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:30:7-12 #1 [sydtest-mutation-example-mutation-report] @@ -27,7 +27,7 @@ [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled b = [sydtest-mutation-example-mutation-report]  let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + in True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control: no disable annotation. Both @ConstBool@ and @Negate@ fire [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:30:7-12 #1 [sydtest-mutation-example-mutation-report] @@ -27,7 +27,7 @@ [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled b = [sydtest-mutation-example-mutation-report]  let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + in not (inner) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control: no disable annotation. Both @ConstBool@ and @Negate@ fire [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:29:3-12 #1 [sydtest-mutation-example-mutation-report] @@ -26,8 +26,7 @@ [sydtest-mutation-example-mutation-report]  {-# ANN withInnerBoolLitDisabled ("DisableMutationsFor inner: ConstBool" :: String) #-} [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control: no disable annotation. Both @ConstBool@ and @Negate@ fire [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:21:7-12 #1 [sydtest-mutation-example-mutation-report] @@ -18,7 +18,7 @@ [sydtest-mutation-example-mutation-report]  withInnerDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerDisabled b = [sydtest-mutation-example-mutation-report]  let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + in True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Like 'withInnerDisabled', but only @ConstBool@ is disabled inside [sydtest-mutation-example-mutation-report]  -- @inner@'s RHS. Other operators on @inner@'s RHS (notably the @Negate@ [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:29:3-12 #1 [sydtest-mutation-example-mutation-report] @@ -26,8 +26,8 @@ [sydtest-mutation-example-mutation-report]  {-# ANN withInnerBoolLitDisabled ("DisableMutationsFor inner: ConstBool" :: String) #-} [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + not (let inner = not b [sydtest-mutation-example-mutation-report] + in inner) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control: no disable annotation. Both @ConstBool@ and @Negate@ fire [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/DoLib.hs:13:12-19 #1 [sydtest-mutation-example-mutation-report] @@ -10,6 +10,6 @@ [sydtest-mutation-example-mutation-report]  where [sydtest-mutation-example-mutation-report]  go :: Writer String () [sydtest-mutation-example-mutation-report]  go = do [sydtest-mutation-example-mutation-report] - tell "Hello" [sydtest-mutation-example-mutation-report] + tell [] [sydtest-mutation-example-mutation-report]  if loud then tell "!" else pure () [sydtest-mutation-example-mutation-report]  tell "\n" [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/DoLib.hs:14:25-28 #1 [sydtest-mutation-example-mutation-report] @@ -11,5 +11,5 @@ [sydtest-mutation-example-mutation-report]  go :: Writer String () [sydtest-mutation-example-mutation-report]  go = do [sydtest-mutation-example-mutation-report]  tell "Hello" [sydtest-mutation-example-mutation-report] - if loud then tell "!" else pure () [sydtest-mutation-example-mutation-report] + if loud then tell [] else pure () [sydtest-mutation-example-mutation-report]  tell "\n" [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/DoLib.hs:9:14-27 #1 [sydtest-mutation-example-mutation-report] @@ -6,7 +6,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: RemoveAction removes one of the three tell actions. [sydtest-mutation-example-mutation-report]  greet :: Bool -> String [sydtest-mutation-example-mutation-report] -greet loud = execWriter go [sydtest-mutation-example-mutation-report] +greet loud = [] [sydtest-mutation-example-mutation-report]  where [sydtest-mutation-example-mutation-report]  go :: Writer String () [sydtest-mutation-example-mutation-report]  go = do [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/DoLib.hs:14:10-14 #1 [sydtest-mutation-example-mutation-report] @@ -11,5 +11,5 @@ [sydtest-mutation-example-mutation-report]  go :: Writer String () [sydtest-mutation-example-mutation-report]  go = do [sydtest-mutation-example-mutation-report]  tell "Hello" [sydtest-mutation-example-mutation-report] - if loud then tell "!" else pure () [sydtest-mutation-example-mutation-report] + if not (loud) then tell "!" else pure () [sydtest-mutation-example-mutation-report]  tell "\n" [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:20:3-12 #1 [sydtest-mutation-example-mutation-report] @@ -17,8 +17,7 @@ [sydtest-mutation-example-mutation-report]  {-# ANN withInnerDisabled ("DisableMutationsFor inner" :: String) #-} [sydtest-mutation-example-mutation-report]  withInnerDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerDisabled b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + True [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Like 'withInnerDisabled', but only @ConstBool@ is disabled inside [sydtest-mutation-example-mutation-report]  -- @inner@'s RHS. Other operators on @inner@'s RHS (notably the @Negate@ [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/DoLib.hs:14:10-14 #1 [sydtest-mutation-example-mutation-report] @@ -11,5 +11,5 @@ [sydtest-mutation-example-mutation-report]  go :: Writer String () [sydtest-mutation-example-mutation-report]  go = do [sydtest-mutation-example-mutation-report]  tell "Hello" [sydtest-mutation-example-mutation-report] - if loud then tell "!" else pure () [sydtest-mutation-example-mutation-report] + if True then tell "!" else pure () [sydtest-mutation-example-mutation-report]  tell "\n" [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:20:3-12 #1 [sydtest-mutation-example-mutation-report] @@ -17,8 +17,8 @@ [sydtest-mutation-example-mutation-report]  {-# ANN withInnerDisabled ("DisableMutationsFor inner" :: String) #-} [sydtest-mutation-example-mutation-report]  withInnerDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerDisabled b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + not (let inner = not b [sydtest-mutation-example-mutation-report] + in inner) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Like 'withInnerDisabled', but only @ConstBool@ is disabled inside [sydtest-mutation-example-mutation-report]  -- @inner@'s RHS. Other operators on @inner@'s RHS (notably the @Negate@ [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/LocalDisableLib.hs:21:7-12 #1 [sydtest-mutation-example-mutation-report] @@ -18,7 +18,7 @@ [sydtest-mutation-example-mutation-report]  withInnerDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerDisabled b = [sydtest-mutation-example-mutation-report]  let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + in not (inner) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Like 'withInnerDisabled', but only @ConstBool@ is disabled inside [sydtest-mutation-example-mutation-report]  -- @inner@'s RHS. Other operators on @inner@'s RHS (notably the @Negate@ [sydtest-mutation-example-mutation-report] Testing mutation RemoveAction at src/Example/DoLib.hs:14:7-41 #1 [sydtest-mutation-example-mutation-report] @@ -11,5 +11,4 @@ [sydtest-mutation-example-mutation-report]  go :: Writer String () [sydtest-mutation-example-mutation-report]  go = do [sydtest-mutation-example-mutation-report]  tell "Hello" [sydtest-mutation-example-mutation-report] - if loud then tell "!" else pure () [sydtest-mutation-example-mutation-report]  tell "\n" [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/DoLib.hs:15:12-16 #1 [sydtest-mutation-example-mutation-report] @@ -12,4 +12,4 @@ [sydtest-mutation-example-mutation-report]  go = do [sydtest-mutation-example-mutation-report]  tell "Hello" [sydtest-mutation-example-mutation-report]  if loud then tell "!" else pure () [sydtest-mutation-example-mutation-report] - tell "\n" [sydtest-mutation-example-mutation-report] + tell [] [sydtest-mutation-example-mutation-report] Testing mutation RemoveAction at src/Example/DoLib.hs:12:10-16 #1 [sydtest-mutation-example-mutation-report] @@ -9,7 +9,6 @@ [sydtest-mutation-example-mutation-report]  greet loud = execWriter go [sydtest-mutation-example-mutation-report]  where [sydtest-mutation-example-mutation-report]  go :: Writer String () [sydtest-mutation-example-mutation-report]  go = do [sydtest-mutation-example-mutation-report] - tell "Hello" [sydtest-mutation-example-mutation-report]  if loud then tell "!" else pure () [sydtest-mutation-example-mutation-report]  tell "\n" [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/OtherwiseLib.hs:12:9-10 #1 [sydtest-mutation-example-mutation-report] @@ -9,6 +9,6 @@ [sydtest-mutation-example-mutation-report]  -- (otherwise = True, so @otherwise -> True@ is a semantic no-op). [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report] - | n < 0 = "negative" [sydtest-mutation-example-mutation-report] + | n < 1 = "negative" [sydtest-mutation-example-mutation-report]  | n == 0 = "zero" [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/OtherwiseLib.hs:12:5-10 #1 [sydtest-mutation-example-mutation-report] @@ -9,6 +9,6 @@ [sydtest-mutation-example-mutation-report]  -- (otherwise = True, so @otherwise -> True@ is a semantic no-op). [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report] - | n < 0 = "negative" [sydtest-mutation-example-mutation-report] + | n <= 0 = "negative" [sydtest-mutation-example-mutation-report]  | n == 0 = "zero" [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/OtherwiseLib.hs:12:5-10 #1 [sydtest-mutation-example-mutation-report] @@ -9,6 +9,6 @@ [sydtest-mutation-example-mutation-report]  -- (otherwise = True, so @otherwise -> True@ is a semantic no-op). [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report] - | n < 0 = "negative" [sydtest-mutation-example-mutation-report] + | True = "negative" [sydtest-mutation-example-mutation-report]  | n == 0 = "zero" [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/OtherwiseLib.hs:12:5-10 #1 [sydtest-mutation-example-mutation-report] @@ -9,6 +9,6 @@ [sydtest-mutation-example-mutation-report]  -- (otherwise = True, so @otherwise -> True@ is a semantic no-op). [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report] - | n < 0 = "negative" [sydtest-mutation-example-mutation-report] + | not (n < 0) = "negative" [sydtest-mutation-example-mutation-report]  | n == 0 = "zero" [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/OtherwiseLib.hs:12:13-23 #1 [sydtest-mutation-example-mutation-report] @@ -9,6 +9,6 @@ [sydtest-mutation-example-mutation-report]  -- (otherwise = True, so @otherwise -> True@ is a semantic no-op). [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report] - | n < 0 = "negative" [sydtest-mutation-example-mutation-report] + | n < 0 = [] [sydtest-mutation-example-mutation-report]  | n == 0 = "zero" [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/OtherwiseLib.hs:13:10-11 #1 [sydtest-mutation-example-mutation-report] @@ -10,5 +10,5 @@ [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report]  | n < 0 = "negative" [sydtest-mutation-example-mutation-report] - | n == 0 = "zero" [sydtest-mutation-example-mutation-report] + | n == 1 = "zero" [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/OtherwiseLib.hs:13:5-11 #1 [sydtest-mutation-example-mutation-report] @@ -10,5 +10,5 @@ [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report]  | n < 0 = "negative" [sydtest-mutation-example-mutation-report] - | n == 0 = "zero" [sydtest-mutation-example-mutation-report] + | True = "zero" [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Testing mutation Negate at src/Example/OtherwiseLib.hs:13:5-11 #1 [sydtest-mutation-example-mutation-report] @@ -10,5 +10,5 @@ [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report]  | n < 0 = "negative" [sydtest-mutation-example-mutation-report] - | n == 0 = "zero" [sydtest-mutation-example-mutation-report] + | not (n == 0) = "zero" [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/OtherwiseLib.hs:13:14-20 #1 [sydtest-mutation-example-mutation-report] @@ -10,5 +10,5 @@ [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report]  | n < 0 = "negative" [sydtest-mutation-example-mutation-report] - | n == 0 = "zero" [sydtest-mutation-example-mutation-report] + | n == 0 = [] [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Testing mutation ConstEmptyList at src/Example/OtherwiseLib.hs:14:17-27 #1 [sydtest-mutation-example-mutation-report] @@ -11,4 +11,4 @@ [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report]  | n < 0 = "negative" [sydtest-mutation-example-mutation-report]  | n == 0 = "zero" [sydtest-mutation-example-mutation-report] - | otherwise = "positive" [sydtest-mutation-example-mutation-report] + | otherwise = [] [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:42-43 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, False]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:33-34 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, False, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:36-37 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, False, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:39-40 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, False, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:30-31 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [False, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:26-28 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter (\_ -> False) [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ListLit at src/Example/ConstFnLib.hs:71:29-44 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,6 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:49-55 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, e]) in False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:71:3-55 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] +  False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/ConstFnLib.hs:71:54-55 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, e]) in n >= 1 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:52-53 #2 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a False c d e [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/ConstFnLib.hs:71:49-55 #2 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, e]) in n <= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:50-51 #2 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 False b c d e [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:56-57 #2 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c False e [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:54-55 #2 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b False d e [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:58-59 #2 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d False [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:81:38-59 #2 [sydtest-mutation-example-mutation-report] @@ -78,4 +78,4 @@ [sydtest-mutation-example-mutation-report]  -- @(\\_ _ _ _ _ -> False)@ mutants. At a non-infix site this uses [sydtest-mutation-example-mutation-report]  -- the plain 'TokenReplace' delta (no 'ReplaceOuterSpan' is needed). [sydtest-mutation-example-mutation-report]  majorityOf5Wrapper :: (Bool, Bool, Bool, Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -majorityOf5Wrapper (a, b, c, d, e) = majorityOf5 a b c d e [sydtest-mutation-example-mutation-report] +majorityOf5Wrapper (a, b, c, d, e) = False [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:55:19-20 #2 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = not False || b [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:55:15-20 #2 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = False || b [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:55:24-25 #2 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = not a || False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:55:15-25 #2 [sydtest-mutation-example-mutation-report] @@ -52,7 +52,7 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Logical implication. Used to exercise 'ConstBool' at arity 2. [sydtest-mutation-example-mutation-report]  implies :: Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report] -implies a b = not a || b [sydtest-mutation-example-mutation-report] +implies a b = False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper around 'implies' whose body references 'implies' at arity 2 [sydtest-mutation-example-mutation-report]  -- as a bare (un-applied) name. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:65:22-33 #2 [sydtest-mutation-example-mutation-report] @@ -62,7 +62,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstBool' arity 2 produces @(\\_ _ -> True)@ and [sydtest-mutation-example-mutation-report]  -- @(\\_ _ -> False)@ mutants. [sydtest-mutation-example-mutation-report]  impliesPair :: (Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -impliesPair (a, b) = implies a b [sydtest-mutation-example-mutation-report] +impliesPair (a, b) = False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A 5-argument predicate. Used to confirm the 'ConstBool' arity-5 [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:65:32-33 #2 [sydtest-mutation-example-mutation-report] @@ -62,7 +62,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstBool' arity 2 produces @(\\_ _ -> True)@ and [sydtest-mutation-example-mutation-report]  -- @(\\_ _ -> False)@ mutants. [sydtest-mutation-example-mutation-report]  impliesPair :: (Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -impliesPair (a, b) = implies a b [sydtest-mutation-example-mutation-report] +impliesPair (a, b) = implies a False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A 5-argument predicate. Used to confirm the 'ConstBool' arity-5 [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:65:30-31 #2 [sydtest-mutation-example-mutation-report] @@ -62,7 +62,7 @@ [sydtest-mutation-example-mutation-report]  -- * 'ConstBool' arity 2 produces @(\\_ _ -> True)@ and [sydtest-mutation-example-mutation-report]  -- @(\\_ _ -> False)@ mutants. [sydtest-mutation-example-mutation-report]  impliesPair :: (Bool, Bool) -> Bool [sydtest-mutation-example-mutation-report] -impliesPair (a, b) = implies a b [sydtest-mutation-example-mutation-report] +impliesPair (a, b) = implies False b [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A 5-argument predicate. Used to confirm the 'ConstBool' arity-5 [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/ConstFnLib.hs:40:21-28 #2 [sydtest-mutation-example-mutation-report] @@ -37,7 +37,7 @@ [sydtest-mutation-example-mutation-report]  -- Helper used by 'digitsOf' to give that call site a non-literal [sydtest-mutation-example-mutation-report]  -- list-returning function to mutate. [sydtest-mutation-example-mutation-report]  keepDigits :: String -> String [sydtest-mutation-example-mutation-report] -keepDigits = filter isDigit [sydtest-mutation-example-mutation-report] +keepDigits = filter (\_ -> False) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Get the digits of a 'String'. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation RemoveCase at src/Example/CaseLib.hs:7:19-16 #2 [sydtest-mutation-example-mutation-report] @@ -4,7 +4,6 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: RemoveCase removes one of the three alternatives. [sydtest-mutation-example-mutation-report]  describeList :: [a] -> String [sydtest-mutation-example-mutation-report]  describeList xs = case xs of [sydtest-mutation-example-mutation-report]  [] -> "empty" [sydtest-mutation-example-mutation-report] - [_] -> "singleton" [sydtest-mutation-example-mutation-report]  _ -> "longer" [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/BoolLib.hs:22:22-25 #2 [sydtest-mutation-example-mutation-report] @@ -19,4 +19,4 @@ [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Negates a wrapped boolean. [sydtest-mutation-example-mutation-report]  negateWrapped :: Maybe Bool -> Maybe Bool [sydtest-mutation-example-mutation-report] -negateWrapped = fmap not [sydtest-mutation-example-mutation-report] +negateWrapped = fmap (\_ -> False) [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/FunctionExceptionLib.hs:15:29-30 #2 [sydtest-mutation-example-mutation-report] @@ -12,7 +12,7 @@ [sydtest-mutation-example-mutation-report]  -- IntLit mutations (replacing the literal @1@) still apply. [sydtest-mutation-example-mutation-report]  {-# ANN addOneArithDisabled ("DisableMutation: Arith" :: String) #-} [sydtest-mutation-example-mutation-report]  addOneArithDisabled :: Int -> Int [sydtest-mutation-example-mutation-report] -addOneArithDisabled n = n + 1 [sydtest-mutation-example-mutation-report] +addOneArithDisabled n = n + -1 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Both Arith and IntLit mutations disabled on this function. [sydtest-mutation-example-mutation-report]  {-# ANN addOneArithAndIntLitDisabled ("DisableMutations: Arith, IntLit" :: String) #-} [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:17:22-27 #2 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a <= 0 || b > 0 [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:17:22-27 #2 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = False || b > 0 [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:17:31-36 #2 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a > 0 || False [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:17:31-36 #2 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a > 0 || b <= 0 [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:17:22-36 #2 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = False [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:11:20-25 #2 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a <= 0 && b > 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:11:20-25 #2 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = False && b > 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:11:29-34 #2 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a > 0 && b <= 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:11:20-34 #2 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LogicLib.hs:11:29-34 #2 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a > 0 && False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ListLit at src/Example/ListLib.hs:19:29-38 #2 [sydtest-mutation-example-mutation-report] @@ -16,4 +16,3 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant, a drop-first mutant, [sydtest-mutation-example-mutation-report]  -- and a drop-last mutant on the literal @[a, b, c]@. [sydtest-mutation-example-mutation-report]  tripleConcat :: String -> String -> String -> String [sydtest-mutation-example-mutation-report] -tripleConcat a b c = concat [a, b, c] [sydtest-mutation-example-mutation-report] Testing mutation ListLit at src/Example/ListLib.hs:12:25-31 #2 [sydtest-mutation-example-mutation-report] @@ -9,7 +9,6 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant and a drop-first [sydtest-mutation-example-mutation-report]  -- mutant on the literal @[a, b]@. [sydtest-mutation-example-mutation-report]  pairConcat :: String -> String -> String [sydtest-mutation-example-mutation-report] -pairConcat a b = concat [a, b] [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Concatenate a three-element list of strings. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Arith at src/Example/Lib.hs:8:12-17 #2 [sydtest-mutation-example-mutation-report] @@ -5,4 +5,4 @@ [sydtest-mutation-example-mutation-report]  -- The literal '1' here is a mutation site: the plugin will also compile a [sydtest-mutation-example-mutation-report]  -- version where this returns @n + 0@ instead of @n + 1@. [sydtest-mutation-example-mutation-report]  addOne :: Int -> Int [sydtest-mutation-example-mutation-report] -addOne n = n + 1 [sydtest-mutation-example-mutation-report] +addOne n = n * 1 [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/Lib.hs:8:16-17 #2 [sydtest-mutation-example-mutation-report] @@ -5,4 +5,4 @@ [sydtest-mutation-example-mutation-report]  -- The literal '1' here is a mutation site: the plugin will also compile a [sydtest-mutation-example-mutation-report]  -- version where this returns @n + 0@ instead of @n + 1@. [sydtest-mutation-example-mutation-report]  addOne :: Int -> Int [sydtest-mutation-example-mutation-report] -addOne n = n + 1 [sydtest-mutation-example-mutation-report] +addOne n = n + -1 [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:58:19-20 #2 [sydtest-mutation-example-mutation-report] @@ -55,5 +55,5 @@ [sydtest-mutation-example-mutation-report]  -- @toggle b@ is fully instrumented. [sydtest-mutation-example-mutation-report]  withBindKept :: (Bool -> IO Bool) -> Bool -> IO Bool [sydtest-mutation-example-mutation-report]  withBindKept toggle b = do [sydtest-mutation-example-mutation-report] - inner <- toggle b [sydtest-mutation-example-mutation-report] + inner <- toggle False [sydtest-mutation-example-mutation-report]  pure inner [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:59:8-13 #2 [sydtest-mutation-example-mutation-report] @@ -56,4 +56,4 @@ [sydtest-mutation-example-mutation-report]  withBindKept :: (Bool -> IO Bool) -> Bool -> IO Bool [sydtest-mutation-example-mutation-report]  withBindKept toggle b = do [sydtest-mutation-example-mutation-report]  inner <- toggle b [sydtest-mutation-example-mutation-report] - pure inner [sydtest-mutation-example-mutation-report] + pure False [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:37:7-12 #2 [sydtest-mutation-example-mutation-report] @@ -34,7 +34,7 @@ [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report]  let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + in False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report]  -- by a @do@-block @<-@ statement instead of a @let@. The annotation [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:36:3-12 #2 [sydtest-mutation-example-mutation-report] @@ -33,8 +33,7 @@ [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report]  -- by a @do@-block @<-@ statement instead of a @let@. The annotation [sydtest-mutation-example-mutation-report] Killed: 211 [sydtest-mutation-example-mutation-report]  (of which timed out: 0) [sydtest-mutation-example-mutation-report] Survived: 0 [sydtest-mutation-example-mutation-report] Uncovered: 0 [sydtest-mutation-example-mutation-report] Skipped: 0 [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:36:15-20 #2 [sydtest-mutation-example-mutation-report] @@ -33,7 +33,7 @@ [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] + let inner = False [sydtest-mutation-example-mutation-report]  in inner [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:52:8-13 #2 [sydtest-mutation-example-mutation-report] @@ -49,7 +49,7 @@ [sydtest-mutation-example-mutation-report]  withBindDisabled :: (Bool -> IO Bool) -> Bool -> IO Bool [sydtest-mutation-example-mutation-report]  withBindDisabled toggle b = do [sydtest-mutation-example-mutation-report]  inner <- toggle b [sydtest-mutation-example-mutation-report] - pure inner [sydtest-mutation-example-mutation-report] + pure False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control for 'withBindDisabled': no disable annotation, so the RHS [sydtest-mutation-example-mutation-report]  -- @toggle b@ is fully instrumented. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:30:7-12 #2 [sydtest-mutation-example-mutation-report] @@ -27,7 +27,7 @@ [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled b = [sydtest-mutation-example-mutation-report]  let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + in False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control: no disable annotation. Both @ConstBool@ and @Negate@ fire [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:36:19-20 #2 [sydtest-mutation-example-mutation-report] @@ -33,7 +33,7 @@ [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report]  withInnerKept :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerKept b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] + let inner = not False [sydtest-mutation-example-mutation-report]  in inner [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Same idea as 'withInnerDisabled', but the local binding is introduced [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:20:3-12 #2 [sydtest-mutation-example-mutation-report] @@ -17,8 +17,7 @@ [sydtest-mutation-example-mutation-report]  {-# ANN withInnerDisabled ("DisableMutationsFor inner" :: String) #-} [sydtest-mutation-example-mutation-report]  withInnerDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerDisabled b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Like 'withInnerDisabled', but only @ConstBool@ is disabled inside [sydtest-mutation-example-mutation-report]  -- @inner@'s RHS. Other operators on @inner@'s RHS (notably the @Negate@ [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:29:3-12 #2 [sydtest-mutation-example-mutation-report] @@ -26,8 +26,7 @@ [sydtest-mutation-example-mutation-report]  {-# ANN withInnerBoolLitDisabled ("DisableMutationsFor inner: ConstBool" :: String) #-} [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerBoolLitDisabled b = [sydtest-mutation-example-mutation-report] - let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Control: no disable annotation. Both @ConstBool@ and @Negate@ fire [sydtest-mutation-example-mutation-report]  -- on the @inner@ binding's RHS. [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/LocalDisableLib.hs:21:7-12 #2 [sydtest-mutation-example-mutation-report] @@ -18,7 +18,7 @@ [sydtest-mutation-example-mutation-report]  withInnerDisabled :: Bool -> Bool [sydtest-mutation-example-mutation-report]  withInnerDisabled b = [sydtest-mutation-example-mutation-report]  let inner = not b [sydtest-mutation-example-mutation-report] - in inner [sydtest-mutation-example-mutation-report] + in False [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | Like 'withInnerDisabled', but only @ConstBool@ is disabled inside [sydtest-mutation-example-mutation-report]  -- @inner@'s RHS. Other operators on @inner@'s RHS (notably the @Negate@ [sydtest-mutation-example-mutation-report] Testing mutation ConstBool at src/Example/DoLib.hs:14:10-14 #2 [sydtest-mutation-example-mutation-report] @@ -11,5 +11,5 @@ [sydtest-mutation-example-mutation-report]  go :: Writer String () [sydtest-mutation-example-mutation-report]  go = do [sydtest-mutation-example-mutation-report]  tell "Hello" [sydtest-mutation-example-mutation-report] - if loud then tell "!" else pure () [sydtest-mutation-example-mutation-report] + if False then tell "!" else pure () [sydtest-mutation-example-mutation-report]  tell "\n" [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/OtherwiseLib.hs:12:5-10 #2 [sydtest-mutation-example-mutation-report] @@ -9,6 +9,6 @@ [sydtest-mutation-example-mutation-report]  -- (otherwise = True, so @otherwise -> True@ is a semantic no-op). [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report] - | n < 0 = "negative" [sydtest-mutation-example-mutation-report] + | n > 0 = "negative" [sydtest-mutation-example-mutation-report]  | n == 0 = "zero" [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Testing mutation ListLit at src/Example/ConstFnLib.hs:71:29-44 #3 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,6 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation IntLit at src/Example/ConstFnLib.hs:71:54-55 #3 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, e]) in n >= -3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/ConstFnLib.hs:71:49-55 #3 [sydtest-mutation-example-mutation-report] @@ -68,7 +68,7 @@ [sydtest-mutation-example-mutation-report]  -- mutation produces a well-formed prefix-form preview. [sydtest-mutation-example-mutation-report]  majorityOf5 :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool [sydtest-mutation-example-mutation-report]  majorityOf5 a b c d e = [sydtest-mutation-example-mutation-report] - let n = length (filter id [a, b, c, d, e]) in n >= 3 [sydtest-mutation-example-mutation-report] + let n = length (filter id [a, b, c, d, e]) in n > 3 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | A wrapper that references 'majorityOf5' as a bare arity-5 name. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:17:22-27 #3 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a >= 0 || b > 0 [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:17:31-36 #3 [sydtest-mutation-example-mutation-report] @@ -14,4 +14,4 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @||@ produces a @&&@ alternative. [sydtest-mutation-example-mutation-report]  eitherPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -eitherPositive a b = a > 0 || b > 0 [sydtest-mutation-example-mutation-report] +eitherPositive a b = a > 0 || b >= 0 [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:11:20-25 #3 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a >= 0 && b > 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/LogicLib.hs:11:29-34 #3 [sydtest-mutation-example-mutation-report] @@ -8,7 +8,7 @@ [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report]  -- Mutation sites: LogicOp on @&&@ produces a @||@ alternative. [sydtest-mutation-example-mutation-report]  bothPositive :: Int -> Int -> Bool [sydtest-mutation-example-mutation-report] -bothPositive a b = a > 0 && b > 0 [sydtest-mutation-example-mutation-report] +bothPositive a b = a > 0 && b >= 0 [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report]  -- | True iff at least one argument is strictly positive. [sydtest-mutation-example-mutation-report]  -- [sydtest-mutation-example-mutation-report] Testing mutation ListLit at src/Example/ListLib.hs:19:29-38 #3 [sydtest-mutation-example-mutation-report] @@ -16,4 +16,3 @@ [sydtest-mutation-example-mutation-report]  -- Mutation sites: ListLit produces an empty-list mutant, a drop-first mutant, [sydtest-mutation-example-mutation-report]  -- and a drop-last mutant on the literal @[a, b, c]@. [sydtest-mutation-example-mutation-report]  tripleConcat :: String -> String -> String -> String [sydtest-mutation-example-mutation-report] -tripleConcat a b c = concat [a, b, c] [sydtest-mutation-example-mutation-report] Testing mutation Cmp at src/Example/OtherwiseLib.hs:12:5-10 #3 [sydtest-mutation-example-mutation-report] @@ -9,6 +9,6 @@ [sydtest-mutation-example-mutation-report]  -- (otherwise = True, so @otherwise -> True@ is a semantic no-op). [sydtest-mutation-example-mutation-report]  classify :: Int -> String [sydtest-mutation-example-mutation-report]  classify n [sydtest-mutation-example-mutation-report] - | n < 0 = "negative" [sydtest-mutation-example-mutation-report] + | n >= 0 = "negative" [sydtest-mutation-example-mutation-report]  | n == 0 = "zero" [sydtest-mutation-example-mutation-report]  | otherwise = "positive" [sydtest-mutation-example-mutation-report] Redundant tests (by mutations caught) [sydtest-mutation-example-mutation-report]  suite: sydtest-mutation-example-gen-test [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report] Load-bearing (sole killer — never remove): 35 [sydtest-mutation-example-mutation-report]  • Example\.BoolLibSpec.negateWrapped.negates Just False to Just True (1 mutation) [sydtest-mutation-example-mutation-report]  • Example\.BoolLibSpec.negateWrapped.negates Just True to Just False (1 mutation) [sydtest-mutation-example-mutation-report]  • Example\.BoolLibSpec.wrapFalse.is Just False (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.BoolLibSpec.wrapTrue.is Just True (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.CaseLibSpec.describeList.describes empty lists (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.CaseLibSpec.describeList.describes longer lists (1 mutation) [sydtest-mutation-example-mutation-report]  • Example\.CaseLibSpec.describeList.describes singleton lists (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.firstChar.returns Just the first character of a non-empty string (3 mutations) [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.impliesPair.accepts (False, False) (1 mutation) [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.impliesPair.accepts (True, True) (1 mutation) [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.impliesPair.rejects (True, False) (3 mutations) [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.majorityOf5Wrapper.matches the reference majority on every boolean input (4 mutations) [sydtest-mutation-example-mutation-report]  • Example\.DoLibSpec.greet.greets loudly (3 mutations) [sydtest-mutation-example-mutation-report]  • Example\.DoLibSpec.greet.greets quietly (1 mutation) [sydtest-mutation-example-mutation-report]  • Example\.FunctionExceptionLibSpec.addOneArithDisabled.increments by one (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.ListLibSpec.tripleConcat.concatenates all three arguments (1 mutation) [sydtest-mutation-example-mutation-report]  • Example\.LocalDisableLibSpec.withBindDisabled.passes the input through the toggle function (False -> True) (1 mutation) [sydtest-mutation-example-mutation-report]  • Example\.LocalDisableLibSpec.withBindDisabled.passes the input through the toggle function (True -> False) (1 mutation) [sydtest-mutation-example-mutation-report]  • Example\.LocalDisableLibSpec.withBindKept.passes the input through the toggle function (False -> True) (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LocalDisableLibSpec.withBindKept.passes the input through the toggle function (True -> False) (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LocalDisableLibSpec.withInnerBoolLitDisabled.is False when given True (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LocalDisableLibSpec.withInnerBoolLitDisabled.is True when given False (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LocalDisableLibSpec.withInnerDisabled.is False when given True (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LocalDisableLibSpec.withInnerDisabled.is True when given False (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LocalDisableLibSpec.withInnerKept.is False when given True (4 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LocalDisableLibSpec.withInnerKept.is True when given False (4 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LogicLibSpec.bothPositive.is False when only the first is positive (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LogicLibSpec.bothPositive.is False when only the second is positive (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LogicLibSpec.bothPositive.is True when both are positive (7 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LogicLibSpec.eitherPositive.is False when neither is positive (5 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LogicLibSpec.eitherPositive.is True when only the first is positive (3 mutations) [sydtest-mutation-example-mutation-report]  • Example\.LogicLibSpec.eitherPositive.is True when only the second is positive (3 mutations) [sydtest-mutation-example-mutation-report]  • Example\.OtherwiseLibSpec.classify.classifies negative numbers (1 mutation) [sydtest-mutation-example-mutation-report]  • Example\.OtherwiseLibSpec.classify.classifies positive numbers (2 mutations) [sydtest-mutation-example-mutation-report]  • Example\.OtherwiseLibSpec.classify.classifies zero (3 mutations) [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report] Equivalent test groups (keep one of each): 2 [sydtest-mutation-example-mutation-report]  keep: Example\.LibSpec.addOne.returns 2 for input 1 [sydtest-mutation-example-mutation-report]  redundant: Example\.LibSpec.addOne.returns 6 for input 5 [sydtest-mutation-example-mutation-report]  keep: Example\.ListLibSpec.pairConcat.concatenates both arguments [sydtest-mutation-example-mutation-report]  redundant: Example\.ListLibSpec.pairConcat.preserves the order [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report] Dominated tests (every mutation they kill is also killed by another test): 16 [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.digitsOf.returns the empty string when no character is a digit [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.digitsOf.keeps only the digits [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.digitsOf.returns the whole string when every character is a digit [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.digitsOf.keeps only the digits [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.implies.False implies anything [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.impliesPair.accepts (False, False) [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.implies.True does not imply False [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.impliesPair.rejects (True, False) [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.implies.True implies True [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.impliesPair.accepts (True, True) [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.majorityOf5.is False when all 5 are False [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.majorityOf5Wrapper.matches the reference majority on every boolean input [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.majorityOf5.is False when only 2 of 5 are True [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.majorityOf5Wrapper.matches the reference majority on every boolean input [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.majorityOf5.is True when 3 of 5 are True [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.majorityOf5Wrapper.matches the reference majority on every boolean input [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.majorityOf5.is True when all 5 are True [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.majorityOf5Wrapper.matches the reference majority on every boolean input [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.majorityOf5.matches the reference majority on every boolean input [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.majorityOf5Wrapper.matches the reference majority on every boolean input [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.majorityOf5Wrapper.agrees with majorityOf5 on a 2-out-of-5 tuple [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.majorityOf5Wrapper.matches the reference majority on every boolean input [sydtest-mutation-example-mutation-report]  • Example\.ConstFnLibSpec.majorityOf5Wrapper.agrees with majorityOf5 on a 3-out-of-5 tuple [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ConstFnLibSpec.majorityOf5Wrapper.matches the reference majority on every boolean input [sydtest-mutation-example-mutation-report]  • Example\.ListLibSpec.tripleConcat.distinguishes the first element [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ListLibSpec.tripleConcat.concatenates all three arguments [sydtest-mutation-example-mutation-report]  • Example\.ListLibSpec.tripleConcat.distinguishes the last element [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.ListLibSpec.tripleConcat.concatenates all three arguments [sydtest-mutation-example-mutation-report]  • Example\.LogicLibSpec.bothPositive.is False when neither is positive [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.LogicLibSpec.bothPositive.is False when only the first is positive [sydtest-mutation-example-mutation-report]  • Example\.LogicLibSpec.eitherPositive.is True when both are positive [sydtest-mutation-example-mutation-report]  every mutation it kills is also killed by Example\.LogicLibSpec.eitherPositive.is True when only the first is positive [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report] Suggested minimal suite: 38 of 58 tests (removes 20; the cover is not unique) [sydtest-mutation-example-mutation-report]  removable: Example\.BoolLibSpec.negateWrapped.leaves Nothing as Nothing, Example\.ConstFnLibSpec.digitsOf.returns the empty string when no character is a digit, Example\.ConstFnLibSpec.digitsOf.returns the whole string when every character is a digit, Example\.ConstFnLibSpec.firstChar.returns Nothing for the empty string, Example\.ConstFnLibSpec.implies.False implies anything, Example\.ConstFnLibSpec.implies.True does not imply False, Example\.ConstFnLibSpec.implies.True implies True, Example\.ConstFnLibSpec.majorityOf5.is False when all 5 are False, Example\.ConstFnLibSpec.majorityOf5.is False when only 2 of 5 are True, Example\.ConstFnLibSpec.majorityOf5.is True when 3 of 5 are True, Example\.ConstFnLibSpec.majorityOf5.is True when all 5 are True, Example\.ConstFnLibSpec.majorityOf5.matches the reference majority on every boolean input, Example\.ConstFnLibSpec.majorityOf5Wrapper.agrees with majorityOf5 on a 2-out-of-5 tuple, Example\.ConstFnLibSpec.majorityOf5Wrapper.agrees with majorityOf5 on a 3-out-of-5 tuple, Example\.LibSpec.addOne.returns 6 for input 5, Example\.ListLibSpec.pairConcat.preserves the order, Example\.ListLibSpec.tripleConcat.distinguishes the first element, Example\.ListLibSpec.tripleConcat.distinguishes the last element, Example\.LogicLibSpec.bothPositive.is False when neither is positive, Example\.LogicLibSpec.eitherPositive.is True when both are positive [sydtest-mutation-example-mutation-report]  [sydtest-mutation-example-mutation-report] Redundant mutants (killed by identical test sets): 56 [sydtest-mutation-example-mutation-report]  • Example.BoolLib/ConstNothing/22/17/21/\_ _ -> Nothing/1, Example.BoolLib/ConstNothing/22/17/25/\_ -> Nothing/1 [sydtest-mutation-example-mutation-report]  • Example.BoolLib/BoolLit/18/18/23/True/1, Example.BoolLib/MaybeOp/18/13/23/Nothing/1 [sydtest-mutation-example-mutation-report]  • Example.BoolLib/BoolLit/12/17/21/False/1, Example.BoolLib/MaybeOp/12/12/21/Nothing/1 [sydtest-mutation-example-mutation-report]  • Example.CaseLib/ConstEmptyList/8/9/16/[]/1, Example.CaseLib/RemoveCase/7/19/16/2 alternatives (removed #1)/1 [sydtest-mutation-example-mutation-report]  • Example.CaseLib/ConstEmptyList/9/10/21/[]/1, Example.CaseLib/RemoveCase/7/19/16/2 alternatives (removed #2)/2 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/40/21/28/\_ -> False/2, Example.ConstFnLib/ConstEmptyList/40/14/20/\_ _ -> []/1, Example.ConstFnLib/ConstEmptyList/40/14/28/\_ -> []/1, Example.ConstFnLib/ConstEmptyList/51/14/26/[]/1, Example.ConstFnLib/ConstEmptyList/51/25/26/[]/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstEmptyList/33/24/25/[]/1, Example.ConstFnLib/ConstNothing/33/15/25/Nothing/1, Example.ConstFnLib/MaybeOp/22/20/26/Nothing/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/Negate/55/15/20/not (e)/1, Example.ConstFnLib/Negate/55/19/20/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/55/15/25/False/2, Example.ConstFnLib/LogicOp/55/15/25/&&/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/55/15/20/False/2, Example.ConstFnLib/ConstBool/55/19/20/True/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/55/15/20/True/1, Example.ConstFnLib/ConstBool/55/15/25/True/1, Example.ConstFnLib/ConstBool/55/19/20/False/2, Example.ConstFnLib/ConstBool/55/24/25/True/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/65/22/33/True/1, Example.ConstFnLib/ConstBool/65/30/31/False/2, Example.ConstFnLib/ConstBool/65/32/33/True/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/Cmp/71/49/55/ True/1, Example.ConstFnLib/ConstBool/71/3/55/True/1, Example.ConstFnLib/ConstBool/71/49/55/True/1, Example.ConstFnLib/IntLit/71/54/55/-3/3, Example.ConstFnLib/IntLit/71/54/55/0/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/71/36/37/True/1, Example.ConstFnLib/ConstBool/71/39/40/True/1, Example.ConstFnLib/ConstBool/71/42/43/True/1, Example.ConstFnLib/IntLit/71/54/55/1/2, Example.ConstFnLib/Negate/71/39/40/not (e)/1, Example.ConstFnLib/Negate/71/42/43/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/71/26/28/\_ -> False/2, Example.ConstFnLib/ConstBool/71/3/55/False/2, Example.ConstFnLib/ConstBool/71/49/55/False/2, Example.ConstFnLib/ConstEmptyList/71/18/45/[]/1, Example.ConstFnLib/ConstEmptyList/71/19/44/[]/1, Example.ConstFnLib/ConstEmptyList/71/29/44/[]/1, Example.ConstFnLib/ListLit/71/29/44/0 elements/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/Cmp/71/49/55/>/3, Example.ConstFnLib/ConstBool/71/30/31/False/2, Example.ConstFnLib/ConstBool/71/33/34/False/2, Example.ConstFnLib/ConstBool/71/36/37/False/2, Example.ConstFnLib/ListLit/71/29/44/4 elements/2, Example.ConstFnLib/Negate/71/30/31/not (e)/1, Example.ConstFnLib/Negate/71/33/34/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/71/30/31/True/1, Example.ConstFnLib/ConstBool/71/33/34/True/1, Example.ConstFnLib/ConstBool/71/39/40/False/2, Example.ConstFnLib/ConstBool/71/42/43/False/2, Example.ConstFnLib/ListLit/71/29/44/4 elements/3 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/Negate/81/38/59/not (e)/1, Example.ConstFnLib/Negate/81/54/55/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/81/38/59/True/1, Example.ConstFnLib/ConstBool/81/54/55/True/1, Example.ConstFnLib/ConstBool/81/56/57/True/1, Example.ConstFnLib/ConstBool/81/58/59/True/1, Example.ConstFnLib/Negate/81/56/57/not (e)/1, Example.ConstFnLib/Negate/81/58/59/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/81/38/59/False/2, Example.ConstFnLib/ConstBool/81/50/51/False/2, Example.ConstFnLib/ConstBool/81/52/53/False/2, Example.ConstFnLib/ConstBool/81/54/55/False/2, Example.ConstFnLib/Negate/81/50/51/not (e)/1, Example.ConstFnLib/Negate/81/52/53/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.ConstFnLib/ConstBool/81/50/51/True/1, Example.ConstFnLib/ConstBool/81/52/53/True/1, Example.ConstFnLib/ConstBool/81/56/57/False/2, Example.ConstFnLib/ConstBool/81/58/59/False/2 [sydtest-mutation-example-mutation-report]  • Example.DoLib/ConstBool/14/10/14/False/2, Example.DoLib/ConstEmptyList/14/25/28/[]/1, Example.DoLib/RemoveAction/14/7/41/rest/1 [sydtest-mutation-example-mutation-report]  • Example.DoLib/ConstEmptyList/13/12/19/[]/1, Example.DoLib/ConstEmptyList/15/12/16/[]/1, Example.DoLib/ConstEmptyList/9/14/27/[]/1, Example.DoLib/Negate/14/10/14/not (e)/1, Example.DoLib/RemoveAction/12/10/16/rest/1 [sydtest-mutation-example-mutation-report]  • Example.FunctionExceptionLib/IntLit/15/29/30/-1/2, Example.FunctionExceptionLib/IntLit/15/29/30/0/1 [sydtest-mutation-example-mutation-report]  • Example.Lib/Arith/8/12/17/*/2, Example.Lib/Arith/8/12/17/-/1, Example.Lib/IntLit/8/16/17/-1/2, Example.Lib/IntLit/8/16/17/0/1 [sydtest-mutation-example-mutation-report]  • Example.ListLib/ConstEmptyList/12/18/31/[]/1, Example.ListLib/ConstEmptyList/12/25/31/[]/1, Example.ListLib/ConstEmptyList/12/26/27/[]/1, Example.ListLib/ConstEmptyList/12/29/30/[]/1, Example.ListLib/ListLit/12/25/31/0 elements/1, Example.ListLib/ListLit/12/25/31/1 elements/2 [sydtest-mutation-example-mutation-report]  • Example.ListLib/ConstEmptyList/19/30/31/[]/1, Example.ListLib/ListLit/19/29/38/2 elements/2 [sydtest-mutation-example-mutation-report]  • Example.ListLib/ConstEmptyList/19/22/38/[]/1, Example.ListLib/ConstEmptyList/19/29/38/[]/1, Example.ListLib/ListLit/19/29/38/0 elements/1 [sydtest-mutation-example-mutation-report]  • Example.ListLib/ConstEmptyList/19/36/37/[]/1, Example.ListLib/ListLit/19/29/38/2 elements/3 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/ConstBool/58/19/20/True/1, Example.LocalDisableLib/ConstBool/59/8/13/False/2 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/Negate/58/19/20/not (e)/1, Example.LocalDisableLib/Negate/59/8/13/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/ConstBool/58/19/20/False/2, Example.LocalDisableLib/ConstBool/59/8/13/True/1 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/ConstBool/29/3/12/True/1, Example.LocalDisableLib/ConstBool/30/7/12/True/1 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/Negate/29/15/20/not (e)/1, Example.LocalDisableLib/Negate/29/19/20/not (e)/1, Example.LocalDisableLib/Negate/29/3/12/not (e)/1, Example.LocalDisableLib/Negate/30/7/12/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/ConstBool/29/3/12/False/2, Example.LocalDisableLib/ConstBool/30/7/12/False/2 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/ConstBool/20/3/12/True/1, Example.LocalDisableLib/ConstBool/21/7/12/True/1 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/Negate/20/3/12/not (e)/1, Example.LocalDisableLib/Negate/21/7/12/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/ConstBool/20/3/12/False/2, Example.LocalDisableLib/ConstBool/21/7/12/False/2 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/ConstBool/36/15/20/True/1, Example.LocalDisableLib/ConstBool/36/19/20/False/2, Example.LocalDisableLib/ConstBool/36/3/12/True/1, Example.LocalDisableLib/ConstBool/37/7/12/True/1 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/Negate/36/15/20/not (e)/1, Example.LocalDisableLib/Negate/36/19/20/not (e)/1, Example.LocalDisableLib/Negate/36/3/12/not (e)/1, Example.LocalDisableLib/Negate/37/7/12/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.LocalDisableLib/ConstBool/36/15/20/False/2, Example.LocalDisableLib/ConstBool/36/19/20/True/1, Example.LocalDisableLib/ConstBool/36/3/12/False/2, Example.LocalDisableLib/ConstBool/37/7/12/False/2 [sydtest-mutation-example-mutation-report]  • Example.LogicLib/Cmp/11/29/34/>=/3, Example.LogicLib/ConstBool/11/29/34/True/1 [sydtest-mutation-example-mutation-report]  • Example.LogicLib/Cmp/11/29/34/<=/2, Example.LogicLib/Negate/11/29/34/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.LogicLib/Cmp/11/20/25/>=/3, Example.LogicLib/ConstBool/11/20/25/True/1 [sydtest-mutation-example-mutation-report]  • Example.LogicLib/Cmp/11/20/25/<=/2, Example.LogicLib/Negate/11/20/25/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.LogicLib/Cmp/11/20/25/=/3, Example.LogicLib/Cmp/17/31/36/>=/3, Example.LogicLib/ConstBool/17/22/27/True/1, Example.LogicLib/ConstBool/17/22/36/True/1, Example.LogicLib/ConstBool/17/31/36/True/1 [sydtest-mutation-example-mutation-report]  • Example.LogicLib/Cmp/17/22/27/<=/2, Example.LogicLib/Negate/17/22/27/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.LogicLib/Cmp/17/31/36/<=/2, Example.LogicLib/Negate/17/31/36/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.LogicLib/Cmp/17/22/27/=/3, Example.OtherwiseLib/Negate/12/5/10/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.OtherwiseLib/ConstBool/13/5/11/True/1, Example.OtherwiseLib/ConstEmptyList/14/17/27/[]/1 [sydtest-mutation-example-mutation-report]  • Example.OtherwiseLib/ConstBool/12/5/10/True/1, Example.OtherwiseLib/IntLit/13/10/11/1/1, Example.OtherwiseLib/Negate/13/5/11/not (e)/1 [sydtest-mutation-example-mutation-report]  • Example.OtherwiseLib/Cmp/12/5/10/<=/1, Example.OtherwiseLib/ConstEmptyList/13/14/20/[]/1, Example.OtherwiseLib/IntLit/12/9/10/1/1 [sydtest-mutation-example-mutation-report] Phase: fixupPhase [sydtest-mutation-example-mutation-report] shrinking RPATHs of ELF executables and libraries in /nix/store/q5zah49hmci9yj0v454hnv218kj4d9nx-sydtest-mutation-example-mutation-report [sydtest-mutation-example-mutation-report] checking for references to /build/ in /nix/store/q5zah49hmci9yj0v454hnv218kj4d9nx-sydtest-mutation-example-mutation-report... [sydtest-mutation-example-mutation-report] patching script interpreter paths in /nix/store/q5zah49hmci9yj0v454hnv218kj4d9nx-sydtest-mutation-example-mutation-report [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/q5zah49hmci9yj0v454hnv218kj4d9nx-sydtest-mutation-example-mutation-report [post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache sydtest ⏳ [post-build-hook]  [post-build-hook] Pushing /nix/store/q5zah49hmci9yj0v454hnv218kj4d9nx-sydtest-mutation-example-mutation-report (521.20 KiB) [post-build-hook]  [post-build-hook] All done. [post-build-hook] Uploading to the NixCI staging cache: /nix/store/q5zah49hmci9yj0v454hnv218kj4d9nx-sydtest-mutation-example-mutation-report [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/q5zah49hmci9yj0v454hnv218kj4d9nx-sydtest-mutation-example-mutation-report' to 'https://cache.staging.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/xm0vx7c91k4kzsx115acivf4cijmhf8z-sydtest-mutation-example-mutation-report.drv' to 'https://cache.staging.nix-ci.com'... Progress: 1 of 3 built Building /nix/store/mql0jr9d00kmqzgiz1gx0j6nv7j61rfq-sydtest-mutation-example.drv [sydtest-mutation-example] PASS: All 211 mutation(s) accounted for. [sydtest-mutation-example]  [sydtest-mutation-example] Killed: 211 [sydtest-mutation-example]  (of which timed out: 0) [sydtest-mutation-example] Survived: 0 [sydtest-mutation-example] Uncovered: 0 [sydtest-mutation-example] Skipped: 0 [sydtest-mutation-example]  [sydtest-mutation-example] Full report: /nix/store/q5zah49hmci9yj0v454hnv218kj4d9nx-sydtest-mutation-example-mutation-report/report.txt [sydtest-mutation-example] Machine-readable report: /nix/store/q5zah49hmci9yj0v454hnv218kj4d9nx-sydtest-mutation-example-mutation-report/report.json [post-build-hook] Uploading to cachix cache "sydtest": /nix/store/msz3nb55a8d7g2sf1pq0ay9ryamavpb2-sydtest-mutation-example [post-build-hook] Pushing 1 paths (1 are already present) using zstd to cache sydtest ⏳ [post-build-hook]  [post-build-hook] Pushing /nix/store/msz3nb55a8d7g2sf1pq0ay9ryamavpb2-sydtest-mutation-example (672.00 B) [post-build-hook]  [post-build-hook] All done. [post-build-hook] Uploading to the NixCI staging cache: /nix/store/msz3nb55a8d7g2sf1pq0ay9ryamavpb2-sydtest-mutation-example [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/msz3nb55a8d7g2sf1pq0ay9ryamavpb2-sydtest-mutation-example' to 'https://cache.staging.nix-ci.com'... [post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [post-build-hook] copying 1 paths... [post-build-hook] copying path '/nix/store/mql0jr9d00kmqzgiz1gx0j6nv7j61rfq-sydtest-mutation-example.drv' to 'https://cache.staging.nix-ci.com'... Progress: 2 of 3 built /nix/store/msz3nb55a8d7g2sf1pq0ay9ryamavpb2-sydtest-mutation-example Build succeeded.