@@ -6,13 +6,13 @@
6{-# LANGUAGE DeriveLift #-}
6{-# LANGUAGE DeriveLift #-}
7{-# LANGUAGE FlexibleInstances #-}
7{-# LANGUAGE FlexibleInstances #-}
8{-# LANGUAGE GeneralizedNewtypeDeriving #-}
8{-# LANGUAGE GeneralizedNewtypeDeriving #-}
9−{-# LANGUAGE KindSignatures #-}
10{-# LANGUAGE LambdaCase #-}
9{-# LANGUAGE LambdaCase #-}
11{-# LANGUAGE MultiParamTypeClasses #-}
10{-# LANGUAGE MultiParamTypeClasses #-}
12{-# LANGUAGE OverloadedStrings #-}
11{-# LANGUAGE OverloadedStrings #-}
13{-# LANGUAGE QuasiQuotes #-}
12{-# LANGUAGE QuasiQuotes #-}
14{-# LANGUAGE RankNTypes #-}
13{-# LANGUAGE RankNTypes #-}
15{-# LANGUAGE RecordWildCards #-}
14{-# LANGUAGE RecordWildCards #-}
15+{-# LANGUAGE RoleAnnotations #-}
16{-# LANGUAGE ScopedTypeVariables #-}
16{-# LANGUAGE ScopedTypeVariables #-}
17{-# LANGUAGE TemplateHaskellQuotes #-}
17{-# LANGUAGE TemplateHaskellQuotes #-}
18{-# LANGUAGE TypeFamilies #-}
18{-# LANGUAGE TypeFamilies #-}
@@ -870,6 +870,8 @@ data Url (scheme :: Scheme) = Url Scheme (NonEmpty Text)
870 -- NOTE The second value is the path segments in reversed order.
870 -- NOTE The second value is the path segments in reversed order.
871 deriving (Eq, Ord, Show, Data, Typeable, Generic)
871 deriving (Eq, Ord, Show, Data, Typeable, Generic)
873+type role Url nominal
873-- With template-haskell >=2.15 and text >=1.2.4 Lift can be derived, however
875-- With template-haskell >=2.15 and text >=1.2.4 Lift can be derived, however
874-- the derived lift forgets the type of scheme.
876-- the derived lift forgets the type of scheme.
875instance Typeable scheme => TH.Lift (Url scheme) where
877instance Typeable scheme => TH.Lift (Url scheme) where