Haskell Aeson unexpected warning: no explicit implementation for 'toJSON'

I am trying to use the aeson library to parse json and I am following the documentation. This is my code right now:

{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE DeriveGeneric #-} import Data.Aeson as Ae import Data.Text as T import qualified Data.ByteString.Lazy as BS import GHC.Generics data Episode = Episode { season :: Int , epNum :: Int } deriving (Show, Generic) data Series = Series { title :: !T.Text , curEpisode :: Episode } deriving (Show, Generic) instance FromJSON Episode instance ToJSON Episode -- Warning here instance FromJSON Main.Series instance ToJSON Main.Series -- Warning here 

The problem is that I get these two warnings:

 src\Main.hs:21:10: Warning: No explicit implementation for `toJSON' In the instance declaration for `ToJSON Episode' src\Main.hs:22:10: Warning: No explicit implementation for `toJSON' In the instance declaration for `ToJSON Main.Series' 

I can’t understand why this is happening.

EDIT:

GHC Version: 7.10.2

aeson version: 0.10.0.0 (latest)

+5
source share
1 answer

I can get around the warnings by doing this:

 instance FromJSON Episode instance ToJSON Episode where toJSON = genericToJSON defaultOptions instance FromJSON Main.Series instance ToJSON Main.Series where toJSON = genericToJSON defaultOptions 

I still don't know why the warnings exist, but I saw that there is already an error report on github .

+5
source

Source: https://habr.com/ru/post/1233377/


All Articles