packages feed

haskell-tools-builtin-refactorings-1.0.1.1: test/ExtensionOrganizerTest/FlexibleInstancesTest/SynonymNestedWiredInType.hs

{-# LANGUAGE FlexibleInstances #-}

module SynonymNestedWiredInType where

import Definitions


instance C1 (TS3 a b Int) where  {-* FlexibleInstances, TypeSynonymInstances *-}
  f1 _ = True

instance C1 (TS3 a Int c) where  {-* FlexibleInstances, TypeSynonymInstances *-}
  f1 _ = True

instance C1 (TS3 Int b c) where  {-* FlexibleInstances, TypeSynonymInstances *-}
  f1 _ = True

instance C1 (Phantom Int a) where  {-* FlexibleInstances, TypeSynonymInstances *-}
  f1 _ = True

-- False positive
instance C1 (Phantom a Int) where  {-* FlexibleInstances, TypeSynonymInstances *-}
  f1 _ = True