Skip to content
Snippets Groups Projects
Commit 4c7a8462 authored by xldenis's avatar xldenis Committed by Marge Bot
Browse files

Make sure to load interfaces when running :instances

parent 4854a349
No related branches found
No related tags found
No related merge requests found
......@@ -104,7 +104,7 @@ import GHC.Exts
import Data.Array
import Exception
import TcRnDriver ( runTcInteractive, tcRnType )
import TcRnDriver ( runTcInteractive, tcRnType, loadUnqualIfaces )
import TcHsSyn ( ZonkFlexi (SkolemiseFlexi) )
import TcEnv (tcGetInstEnvs)
......@@ -1048,6 +1048,8 @@ getInstancesForType :: GhcMonad m => Type -> m [ClsInst]
getInstancesForType ty = withSession $ \hsc_env -> do
liftIO $ runInteractiveHsc hsc_env $ do
ioMsgMaybe $ runTcInteractive hsc_env $ do
-- Bring class and instances from unqualified modules into scope, this fixes #16793.
loadUnqualIfaces hsc_env (hsc_IC hsc_env)
matches <- findMatchingInstances ty
fmap catMaybes . forM matches $ uncurry checkForExistence
......
:instances Int
instance Eq Int -- Defined in ‘GHC.Classes’
instance Ord Int -- Defined in ‘GHC.Classes’
instance Enum Int -- Defined in ‘GHC.Enum’
instance Num Int -- Defined in ‘GHC.Num’
instance Real Int -- Defined in ‘GHC.Real’
instance Show Int -- Defined in ‘GHC.Show’
instance Read Int -- Defined in ‘GHC.Read’
instance Bounded Int -- Defined in ‘GHC.Enum’
instance Integral Int -- Defined in ‘GHC.Real’
test('T16793', normal, ghci_script, ['T16793.script'])
......@@ -3,27 +3,45 @@ instance Applicative Maybe -- Defined in ‘GHC.Base’
instance Functor Maybe -- Defined in ‘GHC.Base’
instance Monad Maybe -- Defined in ‘GHC.Base’
instance GHC.Base.MonadPlus Maybe -- Defined in ‘GHC.Base’
instance MonadFail Maybe -- Defined in ‘Control.Monad.Fail’
instance Foldable Maybe -- Defined in ‘Data.Foldable’
instance Traversable Maybe -- Defined in ‘Data.Traversable’
instance Eq _ => Eq (Maybe _) -- Defined in ‘GHC.Maybe’
instance Semigroup _ => Monoid (Maybe _) -- Defined in ‘GHC.Base’
instance Ord _ => Ord (Maybe _) -- Defined in ‘GHC.Maybe’
instance Semigroup _ => Semigroup (Maybe _)
-- Defined in ‘GHC.Base’
instance Show _ => Show (Maybe _) -- Defined in ‘GHC.Show’
instance Read _ => Read (Maybe _) -- Defined in ‘GHC.Read’
instance GHC.Generics.Generic (Maybe _)
-- Defined in ‘GHC.Generics’
instance GHC.Generics.SingKind _ => GHC.Generics.SingKind (Maybe _)
-- Defined in ‘GHC.Generics’
instance Eq _ => Eq [_] -- Defined in ‘GHC.Classes’
instance Monoid [_] -- Defined in ‘GHC.Base’
instance Ord _ => Ord [_] -- Defined in ‘GHC.Classes’
instance Semigroup [_] -- Defined in ‘GHC.Base’
instance Show _ => Show [_] -- Defined in ‘GHC.Show’
instance Read _ => Read [_] -- Defined in ‘GHC.Read’
instance GHC.Generics.Generic [_] -- Defined in ‘GHC.Generics’
instance [safe] MyShow _ => MyShow [_]
-- Defined at ghci064.hs:7:10
instance Monoid [T] -- Defined in ‘GHC.Base’
instance Semigroup [T] -- Defined in ‘GHC.Base’
instance GHC.Generics.Generic [T] -- Defined in ‘GHC.Generics’
instance [safe] MyShow [T] -- Defined at ghci064.hs:7:10
instance [safe] MyShow [T] -- Defined at ghci064.hs:15:10
instance Eq Bool -- Defined in ‘GHC.Classes’
instance Ord Bool -- Defined in ‘GHC.Classes’
instance Enum Bool -- Defined in ‘GHC.Enum’
instance Show Bool -- Defined in ‘GHC.Show’
instance Read Bool -- Defined in ‘GHC.Read’
instance Bounded Bool -- Defined in ‘GHC.Enum’
instance GHC.Generics.Generic Bool -- Defined in ‘GHC.Generics’
instance GHC.Arr.Ix Bool -- Defined in ‘GHC.Arr’
instance GHC.Generics.SingKind Bool -- Defined in ‘GHC.Generics’
instance Data.Bits.Bits Bool -- Defined in ‘Data.Bits’
instance Data.Bits.FiniteBits Bool -- Defined in ‘Data.Bits’
instance Functor ((,) Int) -- Defined in ‘GHC.Base’
instance Foldable ((,) Int) -- Defined in ‘Data.Foldable’
instance Traversable ((,) Int) -- Defined in ‘Data.Traversable’
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment