diff options
Diffstat (limited to 'testsuite/tests/th/T21794.stderr')
-rw-r--r-- | testsuite/tests/th/T21794.stderr | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/testsuite/tests/th/T21794.stderr b/testsuite/tests/th/T21794.stderr new file mode 100644 index 0000000000..4dddefab08 --- /dev/null +++ b/testsuite/tests/th/T21794.stderr @@ -0,0 +1,46 @@ +T21794.hs:(19,2)-(35,6): Splicing declarations + [d| type ForAllA1 :: TConstraint -> Constraint + type ForAllA2 :: TConstraint -> Constraint + + data P = L | R + data T (a :: P) + where + A :: T a + B :: T R + type TConstraint = forall a. T a -> Constraint + class (forall a. constr @a A) => ForAllA1 constr + class (forall a. constr @a A) => ForAllA2 constr + + instance forall (constr :: TConstraint). (forall a. constr @a A) => + ForAllA1 constr + + deriving anyclass instance forall (constr :: TConstraint). (forall a. + constr @a A) => + ForAllA2 constr |] + ======> + data P = L | R + data T (a :: P) + where + A :: T a + B :: T 'R + type TConstraint = forall a. T a -> Constraint + type ForAllA1 :: TConstraint -> Constraint + class (forall a. constr @a 'A) => ForAllA1 constr + instance forall (constr :: TConstraint). (forall a. + constr @a 'A) => + ForAllA1 constr + type ForAllA2 :: TConstraint -> Constraint + class (forall a. constr @a 'A) => ForAllA2 constr + deriving anyclass instance forall (constr :: TConstraint). (forall a. + constr @a 'A) => + ForAllA2 constr +T21794.hs:(38,2)-(43,6): Splicing declarations + [d| type C :: forall {k} {l}. k -> l -> Constraint + + class C a b + + instance forall k (a :: k) (b :: Type). C a k |] + ======> + type C :: forall {k} {l}. k -> l -> Constraint + class C a b + instance forall k (a :: k) (b :: Type). C a k |