@@ -6,13 +6,13 @@
66{-# LANGUAGE DeriveLift #-}
77{-# LANGUAGE FlexibleInstances #-}
88{-# LANGUAGE GeneralizedNewtypeDeriving #-}
9−{-# LANGUAGE KindSignatures #-}
109{-# LANGUAGE LambdaCase #-}
1110{-# LANGUAGE MultiParamTypeClasses #-}
1211{-# LANGUAGE OverloadedStrings #-}
1312{-# LANGUAGE QuasiQuotes #-}
1413{-# LANGUAGE RankNTypes #-}
1514{-# LANGUAGE RecordWildCards #-}
15+{-# LANGUAGE RoleAnnotations #-}
1616{-# LANGUAGE ScopedTypeVariables #-}
1717{-# LANGUAGE TemplateHaskellQuotes #-}
1818{-# LANGUAGE TypeFamilies #-}
@@ -870,6 +870,8 @@ data Url (scheme :: Scheme) = Url Scheme (NonEmpty Text)
870870 -- NOTE The second value is the path segments in reversed order.
871871 deriving (Eq, Ord, Show, Data, Typeable, Generic)
872872
873+type role Url nominal
874+
873875-- With template-haskell >=2.15 and text >=1.2.4 Lift can be derived, however
874876-- the derived lift forgets the type of scheme.
875877instance Typeable scheme => TH.Lift (Url scheme) where