#1072: Core Lint Errors: in result of Desugar
----------------------+-----------------------------------------------------
Reporter: guest | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 6.6
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Architecture: x86
Os: Windows |
----------------------+-----------------------------------------------------
Old description:
> This error happens with ghc --make, so two source files are attached. To
> reproduce the error:
>
> Microsoft Windows XP [Version 5.1.2600]
> (C) Copyright 1985-2001 Microsoft Corp.
>
> G:\>cd ghcError
>
> G:\ghcError>ghc --version
> The Glorious Glasgow Haskell Compilation System, version 6.6
>
> G:\ghcError>ghc -dcore-lint --make Main.hs
> [1 of 2] Compiling WrapIOMonad ( WrapIOMonad.hs, WrapIOMonad.o )
> [2 of 2] Compiling Main ( Main.hs, Main.o )
> *** Core Lint Errors: in result of Desugar ***
> {-# LINE 11 "Main.hs #-}:
> [RHS of f2_aGA :: WrapIOMonad.WrapIO2 a_aGz]
> The type of this binder doesn't match the type of its RHS: f2_aGA
> Binder's type: WrapIOMonad.WrapIO2 a_aGz
> Rhs type: WrapIOMonad.WrapIO GHC.Base.String a_aGz
> *** Offending Program ***
> Rec {
> :Main.main :: GHC.IOBase.IO ()
> [Exported]
> []
> :Main.main = GHC.TopHandler.runMainIO @ () Main.main
> Main.main :: GHC.IOBase.IO ()
> [Exported]
> []
> Main.main = GHC.Err.undefined @ (GHC.IOBase.IO ())
> main_aGK :: GHC.IOBase.IO ()
> []
> main_aGK = Main.main
> Main.f2 :: forall a_aB9. (GHC.Show.Show a_aB9) => WrapIOMonad.WrapIO2
> a_aB9
> []
> Main.f2 =
> \ (@ a_aGz) ($dShow_aGD :: {GHC.Show.Show a_aGz}) ->
> __letrec {
> f2_aGA :: WrapIOMonad.WrapIO2 a_aGz
> []
> f2_aGA = f1_aGB;
> $dShow_aGI :: {GHC.Show.Show a_aGz}
> []
> $dShow_aGI = $dShow_aGD;
> f1_aGB :: WrapIOMonad.WrapIO GHC.Base.String a_aGz
> []
> f1_aGB = Main.f1 @ a_aGz @ GHC.Base.String $dShow_aGI;
> } in f2_aGA
> Main.f1 :: forall a_aBb e_aBc.
> (GHC.Show.Show a_aBb) =>
> WrapIOMonad.WrapIO e_aBc a_aBb
> []
> Main.f1 =
> \ (@ a_aGf) (@ e_aGg) ($dShow_aGq :: {GHC.Show.Show a_aGf}) ->
> __letrec {
> f1_aGh :: WrapIOMonad.WrapIO e_aGg a_aGf
> []
> f1_aGh = return_aGm @ a_aGf (GHC.Err.undefined @ a_aGf);
> $dMonad_aGv :: {GHC.Base.Monad (WrapIOMonad.WrapIO e_aGg)}
> []
> $dMonad_aGv = WrapIOMonad.$f1 @ e_aGg;
> return_aGm :: forall a_awE. a_awE -> WrapIOMonad.WrapIO e_aGg a_awE
> []
> return_aGm = GHC.Base.return @ (WrapIOMonad.WrapIO e_aGg)
> $dMonad_aGv;
> } in f1_aGh
> end Rec }
>
> *** End of Offense ***
>
> <no location info>:
> Compilation had errors
>
>
> G:\ghcError>
New description:
This error happens with ghc --make, so two source files are attached. To
reproduce the error:
{{{
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
G:\>cd ghcError
G:\ghcError>ghc --version
The Glorious Glasgow Haskell Compilation System, version 6.6
G:\ghcError>ghc -dcore-lint --make Main.hs
[1 of 2] Compiling WrapIOMonad ( WrapIOMonad.hs, WrapIOMonad.o )
[2 of 2] Compiling Main ( Main.hs, Main.o )
*** Core Lint Errors: in result of Desugar ***
{-# LINE 11 "Main.hs #-}:
[RHS of f2_aGA :: WrapIOMonad.WrapIO2 a_aGz]
The type of this binder doesn't match the type of its RHS: f2_aGA
Binder's type: WrapIOMonad.WrapIO2 a_aGz
Rhs type: WrapIOMonad.WrapIO GHC.Base.String a_aGz
*** Offending Program ***
Rec {
:Main.main :: GHC.IOBase.IO ()
[Exported]
[]
:Main.main = GHC.TopHandler.runMainIO @ () Main.main
Main.main :: GHC.IOBase.IO ()
[Exported]
[]
Main.main = GHC.Err.undefined @ (GHC.IOBase.IO ())
main_aGK :: GHC.IOBase.IO ()
[]
main_aGK = Main.main
Main.f2 :: forall a_aB9. (GHC.Show.Show a_aB9) => WrapIOMonad.WrapIO2
a_aB9
[]
Main.f2 =
\ (@ a_aGz) ($dShow_aGD :: {GHC.Show.Show a_aGz}) ->
__letrec {
f2_aGA :: WrapIOMonad.WrapIO2 a_aGz
[]
f2_aGA = f1_aGB;
$dShow_aGI :: {GHC.Show.Show a_aGz}
[]
$dShow_aGI = $dShow_aGD;
f1_aGB :: WrapIOMonad.WrapIO GHC.Base.String a_aGz
[]
f1_aGB = Main.f1 @ a_aGz @ GHC.Base.String $dShow_aGI;
} in f2_aGA
Main.f1 :: forall a_aBb e_aBc.
(GHC.Show.Show a_aBb) =>
WrapIOMonad.WrapIO e_aBc a_aBb
[]
Main.f1 =
\ (@ a_aGf) (@ e_aGg) ($dShow_aGq :: {GHC.Show.Show a_aGf}) ->
__letrec {
f1_aGh :: WrapIOMonad.WrapIO e_aGg a_aGf
[]
f1_aGh = return_aGm @ a_aGf (GHC.Err.undefined @ a_aGf);
$dMonad_aGv :: {GHC.Base.Monad (WrapIOMonad.WrapIO e_aGg)}
[]
$dMonad_aGv = WrapIOMonad.$f1 @ e_aGg;
return_aGm :: forall a_awE. a_awE -> WrapIOMonad.WrapIO e_aGg a_awE
[]
return_aGm = GHC.Base.return @ (WrapIOMonad.WrapIO e_aGg)
$dMonad_aGv;
} in f1_aGh
end Rec }
*** End of Offense ***
<no location info>:
Compilation had errors
G:\ghcError>
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1072>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs