haskell-gi-base 0.21.2 → 0.21.3
raw patch · 3 files changed
+13/−2 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.GI.Base.Attributes: instance (a ~ x) => Data.GI.Base.Overloading.IsLabelProxy x (Data.GI.Base.Attributes.AttrLabelProxy a)
- Data.GI.Base.Attributes: instance (a ~ x) => GHC.OverloadedLabels.IsLabel x (Data.GI.Base.Attributes.AttrLabelProxy a)
- Data.GI.Base.BasicTypes: instance (a ~ Data.GI.Base.BasicTypes.UnMaybe a) => Data.GI.Base.BasicTypes.NullToNothing a
- Data.GI.Base.BasicTypes: instance Data.GI.Base.BasicTypes.NullToNothing (GHC.Base.Maybe a)
- Data.GI.Base.BasicTypes: instance GHC.Exception.Exception Data.GI.Base.BasicTypes.UnexpectedNullPointerReturn
- Data.GI.Base.Constructible: instance (Data.GI.Base.BasicTypes.GObject a, tag ~ 'Data.GI.Base.Attributes.AttrConstruct) => Data.GI.Base.Constructible.Constructible a tag
- Data.GI.Base.GError: instance GHC.Exception.Exception Data.GI.Base.GError.GError
- Data.GI.Base.GValue: instance Data.GI.Base.GValue.IsGValue (GHC.Base.Maybe Data.Text.Internal.Text)
- Data.GI.Base.GValue: instance Data.GI.Base.GValue.IsGValue (GHC.Base.Maybe GHC.Base.String)
- Data.GI.Base.GVariant: instance Data.GI.Base.GVariant.IsGVariant a => Data.GI.Base.GVariant.IsGVariant (GHC.Base.Maybe a)
- Data.GI.Base.Signals: instance (info ~ Data.GI.Base.Overloading.ResolveSignal slot object) => Data.GI.Base.Overloading.IsLabelProxy slot (Data.GI.Base.Signals.SignalProxy object info)
- Data.GI.Base.Signals: instance (info ~ Data.GI.Base.Overloading.ResolveSignal slot object) => GHC.OverloadedLabels.IsLabel slot (Data.GI.Base.Signals.SignalProxy object info)
+ Data.GI.Base: infixr 0 :~>
+ Data.GI.Base.Attributes: -- attribute.
+ Data.GI.Base.Attributes: -- | Type which introduces the attribute.
+ Data.GI.Base.Attributes: infixr 0 :~>
+ Data.GI.Base.Attributes: instance (a Data.Type.Equality.~ x) => Data.GI.Base.Overloading.IsLabelProxy x (Data.GI.Base.Attributes.AttrLabelProxy a)
+ Data.GI.Base.Attributes: instance (a Data.Type.Equality.~ x) => GHC.OverloadedLabels.IsLabel x (Data.GI.Base.Attributes.AttrLabelProxy a)
+ Data.GI.Base.BasicTypes: instance (a Data.Type.Equality.~ Data.GI.Base.BasicTypes.UnMaybe a) => Data.GI.Base.BasicTypes.NullToNothing a
+ Data.GI.Base.BasicTypes: instance Data.GI.Base.BasicTypes.NullToNothing (GHC.Maybe.Maybe a)
+ Data.GI.Base.BasicTypes: instance GHC.Exception.Type.Exception Data.GI.Base.BasicTypes.UnexpectedNullPointerReturn
+ Data.GI.Base.Constructible: instance (Data.GI.Base.BasicTypes.GObject a, tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrConstruct) => Data.GI.Base.Constructible.Constructible a tag
+ Data.GI.Base.GError: instance GHC.Exception.Type.Exception Data.GI.Base.GError.GError
+ Data.GI.Base.GValue: instance Data.GI.Base.GValue.IsGValue (GHC.Maybe.Maybe Data.Text.Internal.Text)
+ Data.GI.Base.GValue: instance Data.GI.Base.GValue.IsGValue (GHC.Maybe.Maybe GHC.Base.String)
+ Data.GI.Base.GVariant: instance Data.GI.Base.GVariant.IsGVariant a => Data.GI.Base.GVariant.IsGVariant (GHC.Maybe.Maybe a)
+ Data.GI.Base.Overloading: type family MethodResolutionFailed (method :: Symbol) (o :: *)
+ Data.GI.Base.ShortPrelude: -- attribute.
+ Data.GI.Base.ShortPrelude: -- | Type which introduces the attribute.
+ Data.GI.Base.ShortPrelude: infix 4 /=
+ Data.GI.Base.ShortPrelude: infixl 1 >>
+ Data.GI.Base.Signals: instance (info Data.Type.Equality.~ Data.GI.Base.Overloading.ResolveSignal slot object) => Data.GI.Base.Overloading.IsLabelProxy slot (Data.GI.Base.Signals.SignalProxy object info)
+ Data.GI.Base.Signals: instance (info Data.Type.Equality.~ Data.GI.Base.Overloading.ResolveSignal slot object) => GHC.OverloadedLabels.IsLabel slot (Data.GI.Base.Signals.SignalProxy object info)
- Data.GI.Base: GValue :: (ManagedPtr GValue) -> GValue
+ Data.GI.Base: GValue :: ManagedPtr GValue -> GValue
- Data.GI.Base: [:=>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, (AttrSetTypeConstraint info) b) => AttrLabelProxy (attr :: Symbol) -> IO b -> AttrOp obj tag
+ Data.GI.Base: [:=>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> IO b -> AttrOp obj tag
- Data.GI.Base: [:=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, (AttrSetTypeConstraint info) b) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
+ Data.GI.Base: [:=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
- Data.GI.Base: [:~>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, (AttrSetTypeConstraint info) b, a ~ (AttrGetType info)) => AttrLabelProxy (attr :: Symbol) -> (a -> IO b) -> AttrOp obj tag
+ Data.GI.Base: [:~>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> IO b) -> AttrOp obj tag
- Data.GI.Base: [:~] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, (AttrSetTypeConstraint info) b, a ~ (AttrGetType info)) => AttrLabelProxy (attr :: Symbol) -> (a -> b) -> AttrOp obj tag
+ Data.GI.Base: [:~] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> b) -> AttrOp obj tag
- Data.GI.Base.Attributes: [:=>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, (AttrSetTypeConstraint info) b) => AttrLabelProxy (attr :: Symbol) -> IO b -> AttrOp obj tag
+ Data.GI.Base.Attributes: [:=>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> IO b -> AttrOp obj tag
- Data.GI.Base.Attributes: [:=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, (AttrSetTypeConstraint info) b) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
+ Data.GI.Base.Attributes: [:=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
- Data.GI.Base.Attributes: [:~>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, (AttrSetTypeConstraint info) b, a ~ (AttrGetType info)) => AttrLabelProxy (attr :: Symbol) -> (a -> IO b) -> AttrOp obj tag
+ Data.GI.Base.Attributes: [:~>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> IO b) -> AttrOp obj tag
- Data.GI.Base.Attributes: [:~] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, (AttrSetTypeConstraint info) b, a ~ (AttrGetType info)) => AttrLabelProxy (attr :: Symbol) -> (a -> b) -> AttrOp obj tag
+ Data.GI.Base.Attributes: [:~] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> b) -> AttrOp obj tag
- Data.GI.Base.Attributes: type family AttrOrigin info;
+ Data.GI.Base.Attributes: type family AttrOpAllowed (tag :: AttrOpTag) (info :: *) (useType :: *) :: Constraint
- Data.GI.Base.BasicTypes: GArray :: (Ptr (GArray a)) -> GArray a
+ Data.GI.Base.BasicTypes: GArray :: Ptr (GArray a) -> GArray a
- Data.GI.Base.BasicTypes: GByteArray :: (Ptr GByteArray) -> GByteArray
+ Data.GI.Base.BasicTypes: GByteArray :: Ptr GByteArray -> GByteArray
- Data.GI.Base.BasicTypes: GHashTable :: (Ptr (GHashTable a b)) -> GHashTable a b
+ Data.GI.Base.BasicTypes: GHashTable :: Ptr (GHashTable a b) -> GHashTable a b
- Data.GI.Base.BasicTypes: GList :: (Ptr (GList a)) -> GList a
+ Data.GI.Base.BasicTypes: GList :: Ptr (GList a) -> GList a
- Data.GI.Base.BasicTypes: GParamSpec :: (ManagedPtr GParamSpec) -> GParamSpec
+ Data.GI.Base.BasicTypes: GParamSpec :: ManagedPtr GParamSpec -> GParamSpec
- Data.GI.Base.BasicTypes: GPtrArray :: (Ptr (GPtrArray a)) -> GPtrArray a
+ Data.GI.Base.BasicTypes: GPtrArray :: Ptr (GPtrArray a) -> GPtrArray a
- Data.GI.Base.BasicTypes: GSList :: (Ptr (GSList a)) -> GSList a
+ Data.GI.Base.BasicTypes: GSList :: Ptr (GSList a) -> GSList a
- Data.GI.Base.BasicTypes: GVariant :: (ManagedPtr GVariant) -> GVariant
+ Data.GI.Base.BasicTypes: GVariant :: ManagedPtr GVariant -> GVariant
- Data.GI.Base.Closure: Closure :: (ManagedPtr Closure) -> Closure
+ Data.GI.Base.Closure: Closure :: ManagedPtr Closure -> Closure
- Data.GI.Base.GError: GError :: (ManagedPtr GError) -> GError
+ Data.GI.Base.GError: GError :: ManagedPtr GError -> GError
- Data.GI.Base.GValue: GValue :: (ManagedPtr GValue) -> GValue
+ Data.GI.Base.GValue: GValue :: ManagedPtr GValue -> GValue
- Data.GI.Base.Properties: constructObjectPropertyBoxed :: forall a o. (BoxedObject a) => String -> Maybe a -> IO (GValueConstruct o)
+ Data.GI.Base.Properties: constructObjectPropertyBoxed :: forall a o. BoxedObject a => String -> Maybe a -> IO (GValueConstruct o)
- Data.GI.Base.ShortPrelude: ($) :: () => a -> b -> a -> b
+ Data.GI.Base.ShortPrelude: ($) :: () => (a -> b) -> a -> b
- Data.GI.Base.ShortPrelude: (.) :: () => b -> c -> a -> b -> a -> c
+ Data.GI.Base.ShortPrelude: (.) :: () => (b -> c) -> (a -> b) -> a -> c
- Data.GI.Base.ShortPrelude: (<$>) :: Functor f => a -> b -> f a -> f b
+ Data.GI.Base.ShortPrelude: (<$>) :: Functor f => (a -> b) -> f a -> f b
- Data.GI.Base.ShortPrelude: (=<<) :: Monad m => a -> m b -> m a -> m b
+ Data.GI.Base.ShortPrelude: (=<<) :: Monad m => (a -> m b) -> m a -> m b
- Data.GI.Base.ShortPrelude: (>=>) :: Monad m => a -> m b -> b -> m c -> a -> m c
+ Data.GI.Base.ShortPrelude: (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c
- Data.GI.Base.ShortPrelude: (>>=) :: Monad m => m a -> a -> m b -> m b
+ Data.GI.Base.ShortPrelude: (>>=) :: Monad m => m a -> (a -> m b) -> m b
- Data.GI.Base.ShortPrelude: [:=>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, (AttrSetTypeConstraint info) b) => AttrLabelProxy (attr :: Symbol) -> IO b -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [:=>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> IO b -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: [:=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, (AttrSetTypeConstraint info) b) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [:=] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, AttrOpAllowed tag info obj, AttrSetTypeConstraint info b) => AttrLabelProxy (attr :: Symbol) -> b -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: [:~>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, (AttrSetTypeConstraint info) b, a ~ (AttrGetType info)) => AttrLabelProxy (attr :: Symbol) -> (a -> IO b) -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [:~>] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> IO b) -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: [:~] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, (AttrSetTypeConstraint info) b, a ~ (AttrGetType info)) => AttrLabelProxy (attr :: Symbol) -> (a -> b) -> AttrOp obj tag
+ Data.GI.Base.ShortPrelude: [:~] :: (HasAttributeList obj, info ~ ResolveAttribute attr obj, AttrInfo info, AttrBaseTypeConstraint info obj, tag ~ 'AttrSet, AttrOpAllowed 'AttrSet info obj, AttrOpAllowed 'AttrGet info obj, AttrSetTypeConstraint info b, a ~ AttrGetType info) => AttrLabelProxy (attr :: Symbol) -> (a -> b) -> AttrOp obj tag
- Data.GI.Base.ShortPrelude: class Applicative m => Monad (m :: * -> *)
+ Data.GI.Base.ShortPrelude: class Applicative m => Monad (m :: Type -> Type)
- Data.GI.Base.ShortPrelude: class Monad m => MonadIO (m :: * -> *)
+ Data.GI.Base.ShortPrelude: class Monad m => MonadIO (m :: Type -> Type)
- Data.GI.Base.ShortPrelude: map :: () => a -> b -> [a] -> [b]
+ Data.GI.Base.ShortPrelude: map :: () => (a -> b) -> [a] -> [b]
- Data.GI.Base.ShortPrelude: mapM :: (Traversable t, Monad m) => a -> m b -> t a -> m t b
+ Data.GI.Base.ShortPrelude: mapM :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
- Data.GI.Base.ShortPrelude: mapM_ :: (Foldable t, Monad m) => a -> m b -> t a -> m ()
+ Data.GI.Base.ShortPrelude: mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()
Files
- ChangeLog.md +4/−0
- c/hsgclosure.c +8/−1
- haskell-gi-base.cabal +1/−1
ChangeLog.md view
@@ -1,3 +1,7 @@+### 0.21.3+++ Fix a compilation error on Windows, see [issue 193](https://github.com/haskell-gi/haskell-gi/issues/193).+ ### 0.21.2 + Export [newManagedPtr_](https://hackage.haskell.org/package/haskell-gi-base-0.21.2/docs/Data-GI-Base-ManagedPtr.html#v:newManagedPtr_).
c/hsgclosure.c view
@@ -26,7 +26,14 @@ A mutex protecting the log file handle. We make it recursive, i.e. refcounted, so it is OK to lock repeatedly in the same thread. */-static pthread_mutex_t log_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;+static pthread_mutex_t log_mutex =+#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP)+ PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;+#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER)+ PTHREAD_RECURSIVE_MUTEX_INITIALIZER;+#else+ #error "Recursive mutex initializers not supported on this platform."+#endif /* Give the current thread exclusive access to the log */ static void lock_log()
haskell-gi-base.cabal view
@@ -1,5 +1,5 @@ name: haskell-gi-base-version: 0.21.2+version: 0.21.3 synopsis: Foundation for libraries generated by haskell-gi description: Foundation for libraries generated by haskell-gi homepage: https://github.com/haskell-gi/haskell-gi-base