fefd2982

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Apply DisableMutationsFor to BindStmt RHS too

GHC 9.10+ expands @do { p <- e; rest }@ into @(>>=) e (\p -> rest)@ in
the renamer, so the typechecked AST no longer carries a 'BindStmt' the
plugin can match on directly.  The original 'BindStmt' is preserved
inside the expansion's 'OrigStmt' field; recognise it there and apply
the 'DisableMutationsFor' scope to the @e@ argument of @(>>=)@ — not to
the continuation lambda, whose body has its own subsequent bind
expansions.

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 2s 2s 3s
Eval 3s 41s 41s 45s
Build 6s 1m49s 38s 45s
Test - - - -
Deploy - - - -
Suite 0s 2m34s 45s 45s

Timeline

0s10s20s30s40s