Defined but not used warning on records used by servant-client
When generating an HTTP client through the servant-client lib (https://hackage.haskell.org/package/servant-client), if the various API record accessors go unused elsewhere, -Wunused-top-binds will generate warnings of the style "Defined but not used: {accessor}
.
I believe this is somewhat misleading, as the accessors are indeed "used" in the process of generating the client.
Some sample code that will generate a warning for the release
accessor:
type API = "release" :> Capture "mbid" Mbid :> Get '[JSON] Listing
type Mbid = UUID
data Listing = Listing
{ release :: Text
} deriving (Show, Generic)
instance FromJSON Listing
coverArtArchiveAPI :: Proxy API
coverArtArchiveAPI = Proxy
getListing :: Mbid -> ClientM Listing
getListing = client coverArtArchiveAPI
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |