singletons-th-3.3: src/Data/Singletons/TH/SuppressUnusedWarnings.hs
{-# LANGUAGE AllowAmbiguousTypes #-}
-- Data/Singletons/TH/SuppressUnusedWarnings.hs
--
-- (c) Richard Eisenberg 2014
-- rae@cs.brynmawr.edu
--
-- This declares user-oriented exports that are actually meant to be hidden
-- from the user. Why would anyone ever want this? Because what is below
-- is dirty, and no one wants to see it.
module Data.Singletons.TH.SuppressUnusedWarnings where
import Data.Kind
-- | This class (which users should never see) is to be instantiated in order
-- to use an otherwise-unused data constructor, such as the "kind-inference"
-- data constructor for defunctionalization symbols.
type SuppressUnusedWarnings :: k -> Constraint
class SuppressUnusedWarnings (t :: k) where
suppressUnusedWarnings :: ()