By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Skip parsed-stage splice-span walk for DisableMutations modules
When a module carries {-# ANN module ("DisableMutations" :: String) #-},
the typecheck-stage plugin already short-circuits. But the parser-stage
hook was still doing the full Data-generics walk to collect splice spans
for the --skip-th-splices feature, even though the spans would never be
consulted.
Look for the module-level ANN in the parsed AST (mirroring the
typecheck-stage check that uses tcg_ann_env) and skip the walk when it
is present. The runtime-import injection still happens — it is cheap
and needed for -Wunused-packages on the sydtest-mutation-plugin dep.
| Time to Start | Worker time | Duration | Time to finish | |
| Config | 2s | 3s | 3s | 5s |
| Eval | 5s | 1m46s | 1m46s | 1m51s |
| Build | 1m02s | 1h52m19s | 51m05s | 52m08s |
| Test | - | - | - | - |
| Deploy | - | - | - | - |
| Suite | 2s | 1h54m09s | 52m06s | 52m08s |