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 | 28m56s | 3s | 3s | 28m59s | 28m56s |
| Eval | 11h48m50s | 5m19s | 5m19s | 11h54m09s | 11h19m50s |
| Build | 12h32m38s | 36s | 3m32s | 12h36m10s | 41m24s |
| Suite | 28m56s | 5m59s | 12h07m14s | 12h36m10s | 12h30m11s |