diff options
Diffstat (limited to 'libraries/template-haskell/Language/Haskell/TH/Lib')
-rw-r--r-- | libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs b/libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs index 67017d4926..25b7062da8 100644 --- a/libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs +++ b/libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs @@ -513,8 +513,14 @@ pragAnnD target expr pragLineD :: Quote m => Int -> String -> m Dec pragLineD line file = pure $ PragmaD $ LineP line file -pragCompleteD :: Quote m => [Name] -> Maybe Name -> m Dec -pragCompleteD cls mty = pure $ PragmaD $ CompleteP cls mty +pragCompleteD :: Quote m => [Name] -> Maybe (m Type) -> m Dec +pragCompleteD cls mty = + case mty of + Nothing -> pure $ PragmaD $ CompleteP cls Nothing + Just ty -> + do + t <- ty + pure $ PragmaD $ CompleteP cls (Just t) dataInstD :: Quote m => m Cxt -> (Maybe [m (TyVarBndr ())]) -> m Type -> Maybe (m Kind) -> [m Con] -> [m DerivClause] -> m Dec |