module Hix.Managed.Data.Lower where import Distribution.Pretty (Pretty (pretty)) import Hix.Data.Version (Major, prettyMajors) data Lower = Lower { Lower -> NonEmpty Major majors :: NonEmpty Major } deriving stock (Lower -> Lower -> Bool (Lower -> Lower -> Bool) -> (Lower -> Lower -> Bool) -> Eq Lower forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: Lower -> Lower -> Bool == :: Lower -> Lower -> Bool $c/= :: Lower -> Lower -> Bool /= :: Lower -> Lower -> Bool Eq, Int -> Lower -> ShowS [Lower] -> ShowS Lower -> String (Int -> Lower -> ShowS) -> (Lower -> String) -> ([Lower] -> ShowS) -> Show Lower forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> Lower -> ShowS showsPrec :: Int -> Lower -> ShowS $cshow :: Lower -> String show :: Lower -> String $cshowList :: [Lower] -> ShowS showList :: [Lower] -> ShowS Show, (forall x. Lower -> Rep Lower x) -> (forall x. Rep Lower x -> Lower) -> Generic Lower forall x. Rep Lower x -> Lower forall x. Lower -> Rep Lower x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. Lower -> Rep Lower x from :: forall x. Lower -> Rep Lower x $cto :: forall x. Rep Lower x -> Lower to :: forall x. Rep Lower x -> Lower Generic) instance Pretty Lower where pretty :: Lower -> Doc pretty Lower {NonEmpty Major $sel:majors:Lower :: Lower -> NonEmpty Major majors :: NonEmpty Major majors} = NonEmpty Major -> Doc prettyMajors NonEmpty Major majors