yesodweb / yesodweb/persistent

[persistent-redis,persistent-mongoDB] Redis/Mongo modules using deprecated values

Open
#876 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Haskell
Stars
486
Forks
306
PR merge metrics
No merged PRs in 30d

Description

Compiling persistent-redis with lts-13 gives the following warnings:

    /home/matt/Projects/persistent/persistent-redis/Database/Persist/Redis/Config.hs:44:18: er
ror: [-Wdeprecations, -Werror=deprecations]
        In the use of type constructor or class ‘PortID’
        (imported from Database.Redis, but defined in network-2.8.0.0:Network):
        Deprecated: "The high level Network interface is no longer supported. Please use Netwo
rk.Socket."
       |
    44 |     rdPort    :: R.PortID, -- ^ Port
       |                  ^^^^^^^^

    /home/matt/Projects/persistent/persistent-redis/Database/Persist/Redis/Config.hs:49:19: er
ror: [-Wdeprecations, -Werror=deprecations]
        In the use of type constructor or class ‘PortID’
        (imported from Database.Redis, but defined in network-2.8.0.0:Network):
        Deprecated: "The high level Network interface is no longer supported. Please use Netwo
rk.Socket."
       |
    49 | instance FromJSON R.PortID where
       |                   ^^^^^^^^

    /home/matt/Projects/persistent/persistent-redis/Database/Persist/Redis/Config.hs:50:38: er
ror: [-Wdeprecations, -Werror=deprecations]
        In the use of data constructor ‘PortNumber’
        (imported from Database.Redis, but defined in network-2.8.0.0:Network):
        Deprecated: "The high level Network interface is no longer supported. Please use Netwo
rk.Socket."
       |
    50 |     parseJSON (Number x) = (return . R.PortNumber . fromInteger . truncate) x
       |                                      ^^^^^^^^^^^^

Type help for available commands. Press enter to force a rebuild.
  • Update packages to not use the types from 'network' that are causing problems.
    • Mongo
    • Redis
  • Remove the -fno-warn-deprecations flags from the packages
    • Mongo
    • Redis
  • Remove the "no pedantic for lts-13" in travis/run.sh

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Database/Persist/Redis/Config.hs and inspect the corresponding Mongo configuration for uses of deprecated network types. Check the package flags for persistent-redis and persistent-mongodb, then review travis/run.sh for the lts-13 exception. Done means both packages build on lts-13 without deprecation warnings and the exception and suppression flags are removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell, mongodb, redis
Domain
build-system, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.