By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Don't mutate compiler-generated code in the instrumenter Stock- and anyclass-derived instance methods (whose MatchGroup carries a Generated origin) and the dictionary/evidence VarBinds the typechecker materialises for an instance (e.g. $dShow, $dEnum) were being instrumented, with source spans pointing at the deriving clause or the instance head. That produced nonsense diffs like `deriving (Show, (\_ _ -> False), ...)` and `instance (\_ -> []) where`, and the resulting mutants — living in generated code rather than the user's own source — could never be killed by a test, so they surfaced as permanently uncovered mutations. Skip FunBinds with a Generated MatchGroup origin and evidence VarBinds. Add Example.DerivingLib as a regression test (its manifest must stay empty) and bump sydtest-mutation-plugin to 0.2.1.0.
| Time to Start | Worker time | Duration | Time to finish | Idle | |
| Config | 27m59s | 7s | 7s | 28m07s | 27m59s |
| Eval | 29m05s | 3m34s | 34m08s | 1h03m14s | 32m21s |
| Build | 12h23m05s | 5m49s | 9m32s | 12h32m37s | 11h23m33s |
| Suite | 27m59s | 9m31s | 12h04m38s | 12h32m37s | 12h23m54s |