haskell-tools-builtin-refactorings-1.0.1.1: test/ExtensionOrganizerTest/FlexibleInstancesTest/SynonymNestedTypes.hs
{-# LANGUAGE TypeOperators,
FlexibleInstances
#-}
module SynonymNestedTypes where
import Definitions
{-# ANN module "HLint: ignore Redundant bracket" #-}
instance C1 (TS1 a) where {-* TypeSynonymInstances *-}
f1 _ = True
instance C1 (TS1 (TS1 a)) where {-* FlexibleInstances, TypeSynonymInstances *-}
f1 _ = True
instance C1 (TS2 a (TS1 b)) where {-* FlexibleInstances, TypeSynonymInstances *-}
f1 _ = True
instance C1 (TS2 (TS1 a) b) where {-* FlexibleInstances, TypeSynonymInstances *-}
f1 _ = True
instance C1 (PlusSyn (TS1 a) b) where {-* FlexibleInstances, TypeSynonymInstances *-}
f1 _ = True
instance C1 (DoubleList a) where {-* FlexibleInstances, TypeSynonymInstances *-}
f1 _ = True
instance C1 (Phantom (T1 a) a) where {-* FlexibleInstances, TypeSynonymInstances *-}
f1 _ = True
-- False positive
instance C1 (Phantom a (T1 a)) where {-* FlexibleInstances, TypeSynonymInstances *-}
f1 _ = True