You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TLDR: The overly loose bounds are fixed in the newer versions of the library but they need to be fixed in 0.1.0.0 as well through a hackage metadata revision to stop Cabal from generating faulty build plans and giving users a bad time.
reflex-sdl2 0.1.0.0 is missing version bounds. This may be fixed in later versions, but this still causes issues.
Cabal will still try to build 0.1.0.0 when a user hasn't explicitly asked for newer versions and cabal fails to generate build plans for newer versions.
For example, right now Cabal can't generate a build plan for reflex-sdl2 0.3.0.0 on GHC 9.2.4
Ordinarily when a new GHC version comes out and a library needs to bump bounds to get things working again, all versions of the dependency fail to build on the new GHC version, but because of the loose bounds on 0.1.0.0, versions 0.2.0.0 and 0.3.0.0 fail but Cabal can see no reason why 0.1.0.0 should fail, so it generates a build plan that includes incompatible dependency versions (because the bounds are too loose to exclude them) leading to opaque dependency compilation errors for the user.
It took me a while to notice that Cabal was trying to build 0.1.0.0 and then due to similar past experiences I figured it out. For a less experienced person they may chalk it up to a fundamentally broken library and give up.
Loose bound issues have to be fixed retroactively through Hackage revisions.
The text was updated successfully, but these errors were encountered:
TLDR: The overly loose bounds are fixed in the newer versions of the library but they need to be fixed in 0.1.0.0 as well through a hackage metadata revision to stop Cabal from generating faulty build plans and giving users a bad time.
reflex-sdl2 0.1.0.0 is missing version bounds. This may be fixed in later versions, but this still causes issues.
Cabal will still try to build 0.1.0.0 when a user hasn't explicitly asked for newer versions and cabal fails to generate build plans for newer versions.
For example, right now Cabal can't generate a build plan for reflex-sdl2 0.3.0.0 on GHC 9.2.4
Ordinarily when a new GHC version comes out and a library needs to bump bounds to get things working again, all versions of the dependency fail to build on the new GHC version, but because of the loose bounds on 0.1.0.0, versions 0.2.0.0 and 0.3.0.0 fail but Cabal can see no reason why 0.1.0.0 should fail, so it generates a build plan that includes incompatible dependency versions (because the bounds are too loose to exclude them) leading to opaque dependency compilation errors for the user.
It took me a while to notice that Cabal was trying to build 0.1.0.0 and then due to similar past experiences I figured it out. For a less experienced person they may chalk it up to a fundamentally broken library and give up.
Loose bound issues have to be fixed retroactively through Hackage revisions.
The text was updated successfully, but these errors were encountered: