{-# LANGUAGE GADTs, ExistentialQuantification #-}
{-# OPTIONS_GHC -O -fno-warn-overlapping-patterns #-}

-- #2587
-- Actually this bug related to free variables and
-- type lets, but ostensibly it has a GADT flavour
-- Hence being in the GADT directory.

module GadtBug(bug) where

data Existential = forall a . Existential (Gadt a)

data Gadt a where Value :: Gadt Double

bug = [ match undefined | ps <- undefined, _ <- ps ]
  where
        match (Existential _) = undefined
        match (Existential _) = undefined
