Ich habe diesen einfachen Code hier, um einen Typ zu definieren und makeLenses
zu verwenden, um Linsen zu erzeugen.Haskell: makeLenses - Datenkonstruktor nicht im Gültigkeitsbereich
module Api.Jira.Types.Search
(
SearchRequest(..)
) where
import GHC.Generics
import qualified Data.Text as T
import Data.Aeson (FromJSON, ToJSON)
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
data SearchRequest = SearchRequest
{ _jql :: T.Text
, _startAt :: Maybe Int
, _maxResults :: Maybe Int
, _fields :: Maybe [T.Text]
, _expand :: Maybe [T.Text]
, _properties :: Maybe [T.Text]
} deriving (Show, Generic)
instance ToJSON SearchRequest where
toJSON = genericToJSON defaultOptions {
fieldLabelModifier = drop 1 }
instance FromJSON SearchRequest where
parseJSON = genericParseJSON defaultOptions {
fieldLabelModifier = drop 1 }
makeLenses SearchRequest''
Diese im Fehler führt:
Data constructor not in scope: SearchRequest'' :: template-haskell-2.11.1.0:Language.Haskell.TH.Syntax.Name • Perhaps you meant one of these: ‘SearchRequest’ (line 20), variable ‘searchRequest’ (line 39)
ich zwei etwas damit verbundenen Probleme auf SO gefunden haben, aber sie sind auf der Reihenfolge der Deklaration verwandt und scheinen hier nicht gelten, da alle Arten enthalten in SearchRequest
sind bereits definiert.
Irgendwelche Ideen, was ist der Grund dafür?
Haha autsch. Nun, das ist peinlich ... Danke für die schnelle Antwort, ich werde akzeptieren, sobald das Zeitlimit abgelaufen ist. – theduke