Wolfgang Jeltsch pushed to branch wip/jeltsch/system-io-uncovering at Glasgow Haskell Compiler / GHC
Commits:
-
8241360d
by Wolfgang Jeltsch at 2026-02-23T20:33:33+02:00
-
04369afe
by Wolfgang Jeltsch at 2026-02-23T20:33:56+02:00
11 changed files:
- libraries/base/src/Data/String.hs
- libraries/ghc-heap/GHC/Exts/Heap/Closures.hs
- libraries/ghc-internal/src/GHC/Internal/Data/String.hs
- libraries/ghc-internal/src/GHC/Internal/Heap/Closures.hs
- testsuite/tests/interface-stability/base-exports.stdout
- testsuite/tests/interface-stability/base-exports.stdout-javascript-unknown-ghcjs
- testsuite/tests/interface-stability/base-exports.stdout-mingw32
- testsuite/tests/interface-stability/base-exports.stdout-ws-32
- testsuite/tests/interface-stability/ghc-experimental-exports.stdout
- testsuite/tests/interface-stability/ghc-experimental-exports.stdout-mingw32
- testsuite/tests/typecheck/should_fail/T12921.stderr
Changes:
| 1 | -{-# LANGUAGE Safe #-}
|
|
| 1 | +{-# LANGUAGE Trustworthy #-}
|
|
| 2 | + |
|
| 3 | +{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
|
| 4 | +{-# LANGUAGE PolyKinds #-}
|
|
| 5 | +{-# LANGUAGE StandaloneDeriving #-}
|
|
| 2 | 6 | |
| 3 | 7 | -- |
|
| 4 | 8 | --
|
| ... | ... | @@ -23,4 +27,13 @@ module Data.String |
| 23 | 27 | unwords
|
| 24 | 28 | ) where
|
| 25 | 29 | |
| 26 | -import GHC.Internal.Data.String |
|
| \ No newline at end of file | ||
| 30 | +import GHC.Internal.Data.String
|
|
| 31 | + |
|
| 32 | +import GHC.Internal.Data.Functor.Const (Const (Const))
|
|
| 33 | +import GHC.Internal.Data.Functor.Identity (Identity (Identity))
|
|
| 34 | + |
|
| 35 | +-- | @since base-4.9.0.0
|
|
| 36 | +deriving instance IsString a => IsString (Const a (b :: k))
|
|
| 37 | + |
|
| 38 | +-- | @since base-4.9.0.0
|
|
| 39 | +deriving instance IsString a => IsString (Identity a) |
| 1 | 1 | {-# LANGUAGE CPP #-}
|
| 2 | -{-# LANGUAGE ForeignFunctionInterface #-}
|
|
| 3 | -{-# LANGUAGE GHCForeignImportPrim #-}
|
|
| 4 | -{-# LANGUAGE MagicHash #-}
|
|
| 5 | -{-# LANGUAGE RecordWildCards #-}
|
|
| 6 | -{-# LANGUAGE UnliftedFFITypes #-}
|
|
| 7 | -{-# LANGUAGE DeriveGeneric #-}
|
|
| 2 | +{-# LANGUAGE StandaloneDeriving #-}
|
|
| 8 | 3 | {-# LANGUAGE DeriveTraversable #-}
|
| 9 | 4 | -- Late cost centres introduce a thunk in the asBox function, which leads to
|
| 10 | 5 | -- an additional wrapper being added to any value placed inside a box.
|
| ... | ... | @@ -42,3 +37,23 @@ module GHC.Exts.Heap.Closures ( |
| 42 | 37 | ) where
|
| 43 | 38 | |
| 44 | 39 | import GHC.Internal.Heap.Closures
|
| 40 | + |
|
| 41 | +import GHC.Internal.Data.Functor
|
|
| 42 | +import GHC.Internal.Data.Foldable
|
|
| 43 | +import GHC.Internal.Data.Traversable
|
|
| 44 | + |
|
| 45 | +deriving instance Functor GenClosure
|
|
| 46 | +deriving instance Foldable GenClosure
|
|
| 47 | +deriving instance Traversable GenClosure
|
|
| 48 | + |
|
| 49 | +deriving instance Functor GenStgStackClosure
|
|
| 50 | +deriving instance Foldable GenStgStackClosure
|
|
| 51 | +deriving instance Traversable GenStgStackClosure
|
|
| 52 | + |
|
| 53 | +deriving instance Functor GenStackField
|
|
| 54 | +deriving instance Foldable GenStackField
|
|
| 55 | +deriving instance Traversable GenStackField
|
|
| 56 | + |
|
| 57 | +deriving instance Functor GenStackFrame
|
|
| 58 | +deriving instance Foldable GenStackFrame
|
|
| 59 | +deriving instance Traversable GenStackFrame |
| 1 | 1 | {-# LANGUAGE FlexibleInstances #-}
|
| 2 | -{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
|
| 3 | 2 | {-# LANGUAGE NoImplicitPrelude #-}
|
| 4 | -{-# LANGUAGE PolyKinds #-}
|
|
| 5 | -{-# LANGUAGE StandaloneDeriving #-}
|
|
| 6 | 3 | {-# LANGUAGE Trustworthy #-}
|
| 7 | 4 | {-# LANGUAGE TypeFamilies #-}
|
| 8 | 5 | {-# LANGUAGE TypeOperators #-}
|
| ... | ... | @@ -33,8 +30,6 @@ module GHC.Internal.Data.String ( |
| 33 | 30 | ) where
|
| 34 | 31 | |
| 35 | 32 | import GHC.Internal.Base
|
| 36 | -import GHC.Internal.Data.Functor.Const (Const (Const))
|
|
| 37 | -import GHC.Internal.Data.Functor.Identity (Identity (Identity))
|
|
| 38 | 33 | import GHC.Internal.Data.List (lines, words, unlines, unwords)
|
| 39 | 34 | |
| 40 | 35 | -- | `IsString` is used in combination with the @-XOverloadedStrings@
|
| ... | ... | @@ -105,9 +100,3 @@ ensure the good behavior of the above example remains in the future. |
| 105 | 100 | instance (a ~ Char) => IsString [a] where
|
| 106 | 101 | -- See Note [IsString String]
|
| 107 | 102 | fromString xs = xs |
| 108 | - |
|
| 109 | --- | @since base-4.9.0.0
|
|
| 110 | -deriving instance IsString a => IsString (Const a (b :: k))
|
|
| 111 | - |
|
| 112 | --- | @since base-4.9.0.0
|
|
| 113 | -deriving instance IsString a => IsString (Identity a) |
| ... | ... | @@ -5,7 +5,6 @@ |
| 5 | 5 | {-# LANGUAGE RecordWildCards #-}
|
| 6 | 6 | {-# LANGUAGE UnliftedFFITypes #-}
|
| 7 | 7 | {-# LANGUAGE DeriveGeneric #-}
|
| 8 | -{-# LANGUAGE DeriveTraversable #-}
|
|
| 9 | 8 | -- Late cost centres introduce a thunk in the asBox function, which leads to
|
| 10 | 9 | -- an additional wrapper being added to any value placed inside a box.
|
| 11 | 10 | -- This can be removed once our boot compiler is no longer affected by #25212
|
| ... | ... | @@ -69,8 +68,7 @@ in the profiling way. (#15197) |
| 69 | 68 | import GHC.Internal.Heap.ProfInfo.Types
|
| 70 | 69 | |
| 71 | 70 | import GHC.Internal.Data.Bits
|
| 72 | -import GHC.Internal.Data.Foldable (Foldable, toList)
|
|
| 73 | -import GHC.Internal.Data.Traversable (Traversable)
|
|
| 71 | +import GHC.Internal.Data.Foldable (toList)
|
|
| 74 | 72 | import GHC.Internal.Int
|
| 75 | 73 | import GHC.Internal.Num
|
| 76 | 74 | import GHC.Internal.Real
|
| ... | ... | @@ -383,7 +381,7 @@ data GenClosure b |
| 383 | 381 | -- or an Int#).
|
| 384 | 382 | | UnknownTypeWordSizedPrimitive
|
| 385 | 383 | { wordVal :: !Word }
|
| 386 | - deriving (Show, Generic, Functor, Foldable, Traversable)
|
|
| 384 | + deriving (Show, Generic)
|
|
| 387 | 385 | |
| 388 | 386 | -- | Get the info table for a heap closure, or Nothing for a prim value
|
| 389 | 387 | --
|
| ... | ... | @@ -500,7 +498,7 @@ data GenStgStackClosure b = GenStgStackClosure |
| 500 | 498 | , ssc_stack_size :: !Word32 -- ^ stack size in *words*
|
| 501 | 499 | , ssc_stack :: ![GenStackFrame b]
|
| 502 | 500 | }
|
| 503 | - deriving (Foldable, Functor, Generic, Show, Traversable)
|
|
| 501 | + deriving (Generic, Show)
|
|
| 504 | 502 | |
| 505 | 503 | type StackField = GenStackField Box
|
| 506 | 504 | |
| ... | ... | @@ -510,7 +508,7 @@ data GenStackField b |
| 510 | 508 | = StackWord !Word
|
| 511 | 509 | -- | A pointer field
|
| 512 | 510 | | StackBox !b
|
| 513 | - deriving (Foldable, Functor, Generic, Show, Traversable)
|
|
| 511 | + deriving (Generic, Show)
|
|
| 514 | 512 | |
| 515 | 513 | type StackFrame = GenStackFrame Box
|
| 516 | 514 | |
| ... | ... | @@ -579,7 +577,7 @@ data GenStackFrame b = |
| 579 | 577 | { info_tbl :: !StgInfoTable
|
| 580 | 578 | , annotation :: !b
|
| 581 | 579 | }
|
| 582 | - deriving (Foldable, Functor, Generic, Show, Traversable)
|
|
| 580 | + deriving (Generic, Show)
|
|
| 583 | 581 | |
| 584 | 582 | data PrimType
|
| 585 | 583 | = PInt
|
| ... | ... | @@ -1673,7 +1673,7 @@ module Data.Semigroup where |
| 1673 | 1673 | stimesMonoid :: forall b a. (GHC.Internal.Real.Integral b, GHC.Internal.Base.Monoid a) => b -> a -> a
|
| 1674 | 1674 | |
| 1675 | 1675 | module Data.String where
|
| 1676 | - -- Safety: Safe
|
|
| 1676 | + -- Safety: Trustworthy
|
|
| 1677 | 1677 | type IsString :: * -> Constraint
|
| 1678 | 1678 | class IsString a where
|
| 1679 | 1679 | fromString :: String -> a
|
| ... | ... | @@ -11778,8 +11778,8 @@ instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.First -- Defined in |
| 11778 | 11778 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Last -- Defined in ‘Data.Semigroup’
|
| 11779 | 11779 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Max -- Defined in ‘Data.Semigroup’
|
| 11780 | 11780 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Min -- Defined in ‘Data.Semigroup’
|
| 11781 | -instance forall a k (b :: k). GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Const.Const a b) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 11782 | -instance forall a. GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Identity.Identity a) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 11781 | +instance forall a k (b :: k). GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Const.Const a b) -- Defined in ‘Data.String’
|
|
| 11782 | +instance forall a. GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Identity.Identity a) -- Defined in ‘Data.String’
|
|
| 11783 | 11783 | instance forall a. (a ~ GHC.Internal.Types.Char) => GHC.Internal.Data.String.IsString [a] -- Defined in ‘GHC.Internal.Data.String’
|
| 11784 | 11784 | instance GHC.Internal.Data.Traversable.Traversable GHC.Internal.Functor.ZipList.ZipList -- Defined in ‘GHC.Internal.Functor.ZipList’
|
| 11785 | 11785 | instance forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Data.Traversable.Traversable f, GHC.Internal.Data.Traversable.Traversable g) => GHC.Internal.Data.Traversable.Traversable (f GHC.Internal.Generics.:*: g) -- Defined in ‘GHC.Internal.Data.Traversable’
|
| ... | ... | @@ -1673,7 +1673,7 @@ module Data.Semigroup where |
| 1673 | 1673 | stimesMonoid :: forall b a. (GHC.Internal.Real.Integral b, GHC.Internal.Base.Monoid a) => b -> a -> a
|
| 1674 | 1674 | |
| 1675 | 1675 | module Data.String where
|
| 1676 | - -- Safety: Safe
|
|
| 1676 | + -- Safety: Trustworthy
|
|
| 1677 | 1677 | type IsString :: * -> Constraint
|
| 1678 | 1678 | class IsString a where
|
| 1679 | 1679 | fromString :: String -> a
|
| ... | ... | @@ -11805,8 +11805,8 @@ instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.First -- Defined in |
| 11805 | 11805 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Last -- Defined in ‘Data.Semigroup’
|
| 11806 | 11806 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Max -- Defined in ‘Data.Semigroup’
|
| 11807 | 11807 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Min -- Defined in ‘Data.Semigroup’
|
| 11808 | -instance forall a k (b :: k). GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Const.Const a b) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 11809 | -instance forall a. GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Identity.Identity a) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 11808 | +instance forall a k (b :: k). GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Const.Const a b) -- Defined in ‘Data.String’
|
|
| 11809 | +instance forall a. GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Identity.Identity a) -- Defined in ‘Data.String’
|
|
| 11810 | 11810 | instance forall a. (a ~ GHC.Internal.Types.Char) => GHC.Internal.Data.String.IsString [a] -- Defined in ‘GHC.Internal.Data.String’
|
| 11811 | 11811 | instance GHC.Internal.Data.Traversable.Traversable GHC.Internal.Functor.ZipList.ZipList -- Defined in ‘GHC.Internal.Functor.ZipList’
|
| 11812 | 11812 | instance forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Data.Traversable.Traversable f, GHC.Internal.Data.Traversable.Traversable g) => GHC.Internal.Data.Traversable.Traversable (f GHC.Internal.Generics.:*: g) -- Defined in ‘GHC.Internal.Data.Traversable’
|
| ... | ... | @@ -1673,7 +1673,7 @@ module Data.Semigroup where |
| 1673 | 1673 | stimesMonoid :: forall b a. (GHC.Internal.Real.Integral b, GHC.Internal.Base.Monoid a) => b -> a -> a
|
| 1674 | 1674 | |
| 1675 | 1675 | module Data.String where
|
| 1676 | - -- Safety: Safe
|
|
| 1676 | + -- Safety: Trustworthy
|
|
| 1677 | 1677 | type IsString :: * -> Constraint
|
| 1678 | 1678 | class IsString a where
|
| 1679 | 1679 | fromString :: String -> a
|
| ... | ... | @@ -12036,8 +12036,8 @@ instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.First -- Defined in |
| 12036 | 12036 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Last -- Defined in ‘Data.Semigroup’
|
| 12037 | 12037 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Max -- Defined in ‘Data.Semigroup’
|
| 12038 | 12038 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Min -- Defined in ‘Data.Semigroup’
|
| 12039 | -instance forall a k (b :: k). GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Const.Const a b) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 12040 | -instance forall a. GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Identity.Identity a) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 12039 | +instance forall a k (b :: k). GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Const.Const a b) -- Defined in ‘Data.String’
|
|
| 12040 | +instance forall a. GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Identity.Identity a) -- Defined in ‘Data.String’
|
|
| 12041 | 12041 | instance forall a. (a ~ GHC.Internal.Types.Char) => GHC.Internal.Data.String.IsString [a] -- Defined in ‘GHC.Internal.Data.String’
|
| 12042 | 12042 | instance GHC.Internal.Data.Traversable.Traversable GHC.Internal.Functor.ZipList.ZipList -- Defined in ‘GHC.Internal.Functor.ZipList’
|
| 12043 | 12043 | instance forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Data.Traversable.Traversable f, GHC.Internal.Data.Traversable.Traversable g) => GHC.Internal.Data.Traversable.Traversable (f GHC.Internal.Generics.:*: g) -- Defined in ‘GHC.Internal.Data.Traversable’
|
| ... | ... | @@ -1673,7 +1673,7 @@ module Data.Semigroup where |
| 1673 | 1673 | stimesMonoid :: forall b a. (GHC.Internal.Real.Integral b, GHC.Internal.Base.Monoid a) => b -> a -> a
|
| 1674 | 1674 | |
| 1675 | 1675 | module Data.String where
|
| 1676 | - -- Safety: Safe
|
|
| 1676 | + -- Safety: Trustworthy
|
|
| 1677 | 1677 | type IsString :: * -> Constraint
|
| 1678 | 1678 | class IsString a where
|
| 1679 | 1679 | fromString :: String -> a
|
| ... | ... | @@ -11778,8 +11778,8 @@ instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.First -- Defined in |
| 11778 | 11778 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Last -- Defined in ‘Data.Semigroup’
|
| 11779 | 11779 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Max -- Defined in ‘Data.Semigroup’
|
| 11780 | 11780 | instance GHC.Internal.Data.Foldable.Foldable Data.Semigroup.Min -- Defined in ‘Data.Semigroup’
|
| 11781 | -instance forall a k (b :: k). GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Const.Const a b) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 11782 | -instance forall a. GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Identity.Identity a) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 11781 | +instance forall a k (b :: k). GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Const.Const a b) -- Defined in ‘Data.String’
|
|
| 11782 | +instance forall a. GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Identity.Identity a) -- Defined in ‘Data.String’
|
|
| 11783 | 11783 | instance forall a. (a ~ GHC.Internal.Types.Char) => GHC.Internal.Data.String.IsString [a] -- Defined in ‘GHC.Internal.Data.String’
|
| 11784 | 11784 | instance GHC.Internal.Data.Traversable.Traversable GHC.Internal.Functor.ZipList.ZipList -- Defined in ‘GHC.Internal.Functor.ZipList’
|
| 11785 | 11785 | instance forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Data.Traversable.Traversable f, GHC.Internal.Data.Traversable.Traversable g) => GHC.Internal.Data.Traversable.Traversable (f GHC.Internal.Generics.:*: g) -- Defined in ‘GHC.Internal.Data.Traversable’
|
| ... | ... | @@ -11188,8 +11188,6 @@ instance forall a. GHC.Internal.Classes.Ord (GHC.Internal.Ptr.FunPtr a) -- Defin |
| 11188 | 11188 | instance forall a. GHC.Internal.Classes.Ord (GHC.Internal.Ptr.Ptr a) -- Defined in ‘GHC.Internal.Ptr’
|
| 11189 | 11189 | instance forall a. GHC.Internal.Classes.Ord a => GHC.Internal.Classes.Ord (GHC.Internal.Base.NonEmpty a) -- Defined in ‘GHC.Internal.Base’
|
| 11190 | 11190 | instance GHC.Internal.Classes.Ord GHC.Internal.Base.Void -- Defined in ‘GHC.Internal.Base’
|
| 11191 | -instance forall a k (b :: k). GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Const.Const a b) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 11192 | -instance forall a. GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Identity.Identity a) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 11193 | 11191 | instance forall a. (a ~ GHC.Internal.Types.Char) => GHC.Internal.Data.String.IsString [a] -- Defined in ‘GHC.Internal.Data.String’
|
| 11194 | 11192 | instance forall a. GHC.Internal.Enum.Bounded a => GHC.Internal.Enum.Bounded (GHC.Internal.Data.Ord.Down a) -- Defined in ‘GHC.Internal.Data.Ord’
|
| 11195 | 11193 | instance forall a. (GHC.Internal.Enum.Enum a, GHC.Internal.Enum.Bounded a, GHC.Internal.Classes.Eq a) => GHC.Internal.Enum.Enum (GHC.Internal.Data.Ord.Down a) -- Defined in ‘GHC.Internal.Data.Ord’
|
| ... | ... | @@ -11191,8 +11191,6 @@ instance forall a. GHC.Internal.Classes.Ord (GHC.Internal.Ptr.FunPtr a) -- Defin |
| 11191 | 11191 | instance forall a. GHC.Internal.Classes.Ord (GHC.Internal.Ptr.Ptr a) -- Defined in ‘GHC.Internal.Ptr’
|
| 11192 | 11192 | instance forall a. GHC.Internal.Classes.Ord a => GHC.Internal.Classes.Ord (GHC.Internal.Base.NonEmpty a) -- Defined in ‘GHC.Internal.Base’
|
| 11193 | 11193 | instance GHC.Internal.Classes.Ord GHC.Internal.Base.Void -- Defined in ‘GHC.Internal.Base’
|
| 11194 | -instance forall a k (b :: k). GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Const.Const a b) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 11195 | -instance forall a. GHC.Internal.Data.String.IsString a => GHC.Internal.Data.String.IsString (GHC.Internal.Data.Functor.Identity.Identity a) -- Defined in ‘GHC.Internal.Data.String’
|
|
| 11196 | 11194 | instance forall a. (a ~ GHC.Internal.Types.Char) => GHC.Internal.Data.String.IsString [a] -- Defined in ‘GHC.Internal.Data.String’
|
| 11197 | 11195 | instance forall a. GHC.Internal.Enum.Bounded a => GHC.Internal.Enum.Bounded (GHC.Internal.Data.Ord.Down a) -- Defined in ‘GHC.Internal.Data.Ord’
|
| 11198 | 11196 | instance forall a. (GHC.Internal.Enum.Enum a, GHC.Internal.Enum.Bounded a, GHC.Internal.Classes.Eq a) => GHC.Internal.Enum.Enum (GHC.Internal.Data.Ord.Down a) -- Defined in ‘GHC.Internal.Data.Ord’
|
| ... | ... | @@ -24,8 +24,6 @@ T12921.hs:4:16: error: [GHC-39999] |
| 24 | 24 | Potentially matching instance:
|
| 25 | 25 | instance (a ~ Char) => GHC.Internal.Data.String.IsString [a]
|
| 26 | 26 | -- Defined in ‘GHC.Internal.Data.String’
|
| 27 | - ...plus two instances involving out-of-scope types
|
|
| 28 | - (use -fprint-potential-instances to see them all)
|
|
| 29 | 27 | • In the annotation:
|
| 30 | 28 | {-# ANN module "HLint: ignore Reduce duplication" #-}
|
| 31 | 29 |