Skip to content

Re-export Data.Bits uses wrong base min version

Summary

MR Re-export Data.Bits from GHC.Prelude introduces this change

#if MIN_VERSION_base(4,15,0)
import GHC.Bits as Bits hiding (shiftL, shiftR)
# if defined(DEBUG)
import qualified GHC.Bits as Bits (shiftL, shiftR)
# endif

The thing is, there is no GHC.Bits in base-4.15.0. I think the MIN_VERSION is off-by-one. (For example, if you checkout the ghc-9.0.1-release branch and examine libraries/base/base.cabal you'll find the version is 4.15.0 and it uses Data.Bits. You can also see this by looking at the file list on https://hackage.haskell.org/package/base)

Steps to reproduce

This manifests as build failures compiling ghc-lib built from HEAD with ghc-9.0.1 (which ships with base-4.15.0).

Expected behavior

Shouldn't error out a ghc-9.0.1 build of ghc-lib for non-existent GHC.Bits.

Cc @AndreasK

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information