@@ -46,8 +46,11 @@ resolveConstraint c = fromMaybe (error msg) . resolveConstraint' c
4646 where msg = "constraint " ++ display c ++ " cannot be resolved in Hackage"
4747
4848resolveConstraint' :: Constraint -> Hackage -> Maybe Version
49−resolveConstraint' (Dependency (PackageName name) vrange) hackage =
50− Set.findMax . Set.filter (`withinRange` vrange) . Map.keysSet <$> Map.lookup name hackage
49+resolveConstraint' (Dependency (PackageName name) vrange) hackage
50+ | Just vset' <- Map.lookup name hackage
51+ , vset <- Set.filter (`withinRange` vrange) (Map.keysSet vset')
52+ , not (Set.null vset) = Just (Set.findMax vset)
53+ | otherwise = Nothing
5154
5255data Options = Options
5356 { hackageRepository :: FilePath