{-# LANGUAGE DataKinds #-}
{-# LANGUAGE KindSignatures #-}
{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}

module Gpu.Vulkan.Image.Type where

import GHC.TypeLits

import qualified Gpu.Vulkan.TypeEnum as T
import qualified Gpu.Vulkan.Image.Middle as M

newtype I s (nm :: Symbol) (fmt :: T.Format) = I M.I

newtype Binded sm si (nm :: Symbol) (fmt :: T.Format) = Binded M.I

unsafeToBinded :: I si nm fmt -> Binded sm si hm fmt
unsafeToBinded :: forall si (nm :: Symbol) (fmt :: Format) sm (hm :: Symbol).
I si nm fmt -> Binded sm si hm fmt
unsafeToBinded (I I
i) = (I -> Binded sm si hm fmt
forall sm si (nm :: Symbol) (fmt :: Format).
I -> Binded sm si nm fmt
Binded I
i)