This major bump was made necessary by f44333eae7bc7dc7b6003b75874a02445f6b633b
which changed existing type signatures.
I would just not bother since the old primops were basically broken anyways, but meh.
I'm curious why some of these stderr updates also update the version of integer-gmp to 188.8.131.52, but in others the integer-gmp version was updated already? Shouldn't the tests have been failing before then?
In some cases, the version numbers are normalised away by the testsuite, in other cases that normalisation doesn't occur. That's why sometimes you need to update outputs but not always.
Personally I have very little preference.
Bumping the major version properly will cause an update ripple for ~40 packages when the final release goes out. On the other hand, the primitives that changed signatures were basically unusable before, and none of those packages are affected.
I think "doing the right thing" like this and bumping the version is the right thing to do just from a decorum standpoint, but I don't think anyone would care (or would even have noticed) if we kept the current ghc-prim version.
I agree with Edward's assessment here. Put me down as slightly in favor of the major version bump, despite the marginal pain that will cause for GHC 7.10 adoption. I'll end up helping to hunt down those package with the effort to get Stackage building for GHC 7.10.
Fwiw, here's a few more changes I see when comparing the :browse GHC.Prim output between 7.8.4 and 7.10.1:
@@ -26 +26 @@ -data GHC.Prim.Any +type family GHC.Prim.Any :: k @@ -69,2 +69,2 @@ -type role GHC.Prim.Proxy# nominal -data GHC.Prim.Proxy# b +type role GHC.Prim.Proxy# nominal nominal +data GHC.Prim.Proxy# a b @@ -183 +192,10 @@ -GHC.Prim.coerce :: forall (k :: BOX) (a :: k) (b :: k). GHC.Types.Coercible a b => a -> b +GHC.Prim.coerce :: GHC.Types.Coercible a b => a -> b @@ -2230,5 +2294,4 @@ -type role GHC.Prim.~# nominal nominal -data (GHC.Prim.~#) b c -data GHC.Prim.~R# b c -type role GHC.Types.Coercible representational representational -class GHC.Types.Coercible (a :: k) (b :: k) +type role (GHC.Prim.~#) nominal nominal nominal +data (GHC.Prim.~#) a b c +type role (~R#) nominal representational representational +data (~R#) a b c