Dear maintainers of

bytestring

cabal

         vector

time

dph

 

As discussed in Trac #6032 I am deprecating

          Rank2Types

          PolymorphicComponents

in favour of the single flag

          RankNTypes

 

Could you update your packages to match?  Until then we’ll need to accept the deprecation warnings that GHC will produce when building them.


The change is backward compatible; older GHCs understand RankNTypes.

 

In addition to changing any LANGAUGE pragmas, there may be some changes to Cabal’s flaggery.

 

Thanks

 

Simon

 

./Cabal/Cabal/Distribution/PackageDescription/Check.hs:1114:      , RankNTypes, PolymorphicComponents, ExistentialQuantification

./Cabal/Cabal/Distribution/Simple/GHC.hs:459:    ,(PolymorphicComponents      , fglasgowExts)

./Cabal/Cabal/Distribution/Simple/Hugs.hs:194:    ,(PolymorphicComponents      , ext98)

./Cabal/Cabal/Distribution/Simple/UHC.hs:103:     (PolymorphicComponents,        alwaysOn),

./Cabal/Cabal/Language/Haskell/Extension.hs:186:  | PolymorphicComponents

 

./bytestring/Data/ByteString/Builder/Internal.hs:1:{-# LANGUAGE ScopedTypeVariables, CPP, BangPatterns, Rank2Types #-}

./Cabal/Cabal/Distribution/PackageDescription/Check.hs:1113:      , FunctionalDependencies, Rank2Types

./Cabal/Cabal/Distribution/Simple/GHC.hs:457:    ,(Rank2Types                 , fglasgowExts)

./Cabal/Cabal/Distribution/Simple/Hugs.hs:193:    ,(Rank2Types                 , ext98)

./Cabal/Cabal/Distribution/Simple/UHC.hs:108:     (Rank2Types,                   alwaysOn),

./Cabal/Cabal/Language/Haskell/Extension.hs:177:  | Rank2Types

./containers/Data/Graph.hs:3:{-# LANGUAGE Rank2Types #-}

./dph/dph-lifted-copy/Data/Array/Parallel/Lifted/TH/Repr.hs:1:{-# LANGUAGE TemplateHaskell, Rank2Types #-}

./time/Data/Time/Calendar/Days.hs:13:#if LANGUAGE_Rank2Types

./time/Data/Time/Calendar/Days.hs:20:#if LANGUAGE_Rank2Types

./time/Data/Time/Clock/Scale.hs:19:#if LANGUAGE_Rank2Types

./time/Data/Time/Clock/Scale.hs:27:#if LANGUAGE_Rank2Types

./time/Data/Time/Clock/Scale.hs:45:#if LANGUAGE_Rank2Types

./time/Data/Time/Clock/TAI.hs:24:#if LANGUAGE_Rank2Types

./time/Data/Time/Clock/TAI.hs:31:#if LANGUAGE_Rank2Types

./time/Data/Time/Clock/UTC.hs:23:#if LANGUAGE_Rank2Types

./time/Data/Time/Clock/UTC.hs:37:#if LANGUAGE_Rank2Types

./time/Data/Time/Clock/UTC.hs:66:#if LANGUAGE_Rank2Types

./time/Data/Time/Format/Parse.hs:8:#if LANGUAGE_Rank2Types

./time/Data/Time/Format/Parse.hs:21:#if LANGUAGE_Rank2Types

./time/Data/Time/Format/Parse.hs:30:#if LANGUAGE_Rank2Types

./time/Data/Time/Format/Parse.hs:34:#if LANGUAGE_Rank2Types

./time/Data/Time/Format/Parse.hs:64:#if LANGUAGE_Rank2Types

./time/Data/Time/Format/Parse.hs:344:#if LANGUAGE_Rank2Types

./time/Data/Time/LocalTime/LocalTime.hs:22:#if LANGUAGE_Rank2Types

./time/Data/Time/LocalTime/LocalTime.hs:35:#if LANGUAGE_Rank2Types

./time/Data/Time/LocalTime/LocalTime.hs:79:#if LANGUAGE_Rank2Types

./time/Data/Time/LocalTime/TimeOfDay.hs:19:#if LANGUAGE_Rank2Types

./time/Data/Time/LocalTime/TimeOfDay.hs:34:#if LANGUAGE_Rank2Types

./time/Data/Time/LocalTime/TimeZone.hs:24:#if LANGUAGE_Rank2Types

./time/Data/Time/LocalTime/TimeZone.hs:38:#if LANGUAGE_Rank2Types

./vector/Data/Vector/Fusion/Stream/Monadic.hs:1:{-# LANGUAGE ExistentialQuantification, Rank2Types, BangPatterns #-}

./vector/Data/Vector/Fusion/Stream.hs:1:{-# LANGUAGE FlexibleInstances, Rank2Types #-}

./vector/Data/Vector/Generic/Base.hs:1:{-# LANGUAGE Rank2Types, MultiParamTypeClasses, FlexibleContexts,

./vector/Data/Vector/Generic/New.hs:1:{-# LANGUAGE Rank2Types, FlexibleContexts #-}

./vector/Data/Vector/Generic.hs:1:{-# LANGUAGE Rank2Types, MultiParamTypeClasses, FlexibleContexts,

./vector/Data/Vector/Primitive.hs:1:{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, TypeFamilies, ScopedTypeVariables, Rank2Types #-}

./vector/Data/Vector/Storable.hs:1:{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, TypeFamilies, Rank2Types, ScopedTypeVariables #-}

./vector/Data/Vector/Unboxed.hs:1:{-# LANGUAGE Rank2Types #-}

./vector/Data/Vector.hs:1:{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, TypeFamilies, Rank2Types #-}