
Hi Ben,
What you are seeing isn't a warning, it's an error. 8.4.1 throws errors for Monoids missing Semigroup instances not because of -Wsemigroup but rather because Semigroup is now a superclass of Monoid.
-Wsemigroup will likely be deprecated in a future release now since we've reached phase 2 of the Semigroup/Monoid proposal.
Thank you for your explanation. It's now clear to me!
GHC 8.4.1rc does not find Monad data types which define "fail" even with -Wcompat. Now I understand that -Wnoncanonical-monadfail-instances is necessary. Why doesn't -Wcampat include -Wnoncanonical-monadfail-instances?
My understanding is that the MonadFail proposal is in a bit of a state of limbo, so its preparatory warning flag hasn't yet been added to -Wcompat.
OK. I hope the proposal Wiki documents will be updated anyway. --Kazu