By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Let a constructor say what a list is for skip-calls-to reads the call an expression is inside, and a data constructor was not one of them. A list held by a constructor is named by that constructor exactly as an argument is named by the function it is passed to, so a constructor should be nameable too. Read in the enclosing-call recording rather than in headFunctionName. Several operators use that function to decide what is an elidable or a swappable call, and a constructor is neither, so teaching it about constructors would change which mutants those produce. The new calleeName falls back to the constructor's name at the ConLikeTc node GHC rewrites a constructor's HsVar into, which is the same node BoolLit, ConstBool, MaybeOp and ConstConstructor already read. Example.ListLitCallsLib.reportCodes is the case, answering with a constructor of that module's own rather than one of Either's, so that what the config skips is one named constructor and not every Left in the suite. Asserted both ways: removing the entry fails the check with the ListLit and ConstEmptyList mutants on its list, and putting it back passes.
Total
51m46s
Created Started Finished
| Time to Start | Worker time | Duration | Time to finish | Idle | |
|---|---|---|---|---|---|
| Config | 3m03s | 0s | 0s | 3m04s | 3m03s |
| Eval | 3m04s | 16s | 16s | 3m20s | 0s |
| Build | 3m19s | 4m34s | 51m16s | 54m36s | 47m31s |
| Deploy | 54m36s | 13s | 13s | 54m49s | 0s |
| Suite | 3m03s | 5m04s | 51m46s | 54m49s | 50m34s |