[GHC] #13932: GHC and GHCi dumps "panic!" ("initTc: unsolved constraints")
GHC
ghc-devs at haskell.org
Fri Jul 7 03:55:49 UTC 2017
#13932: GHC and GHCi dumps "panic!" ("initTc: unsolved constraints")
-------------------------------------+-------------------------------------
Reporter: aiya000 | Owner: (none)
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: duplicate | Keywords:
Operating System: Linux | Architecture: x86_64
Type of failure: Compile-time | (amd64)
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: #13106 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by RyanGlScott):
* status: new => closed
* resolution: => duplicate
* related: => #13106
Comment:
Thanks for the bug report.
This is a duplicate of #13106, and has been fixed in GHC 8.2.
For what it's worth, this panic sometimes happens when you have out-of-
scope identifiers. Here's the error message you get on GHC 8.2:
{{{
[6 of 6] Compiling Maru.Main ( src/Maru/Main.hs, interpreted )
src/Maru/Main.hs:42:15: error:
• Variable not in scope:
makeLensesWith :: t1 -> String -> Name -> DecsQ
• Perhaps you meant ‘makeLensesA’ (line 42)
Perhaps you want to add ‘makeLensesWith’ to the import list
in the import of ‘Lens.Micro.TH’ (src/Maru/Main.hs:26:1-45).
|
42 | makeLensesA = makeLensesWith (lensRules & lensField .~ addSuffix)
| ^^^^^^^^^^^^^^
src/Maru/Main.hs:42:31: error:
• Variable not in scope: lensRules
• Perhaps you want to add ‘lensRules’ to the import list
in the import of ‘Lens.Micro.TH’ (src/Maru/Main.hs:26:1-45).
|
42 | makeLensesA = makeLensesWith (lensRules & lensField .~ addSuffix)
| ^^^^^^^^^
src/Maru/Main.hs:42:41: error:
Variable not in scope:
(&)
:: t5
-> (((Name -> [Name] -> Name -> [DefName])
-> f0 (Name -> [Name] -> Name -> [DefName]))
-> Lens.Micro.TH.LensRules -> f0 Lens.Micro.TH.LensRules)
-> t3
|
42 | makeLensesA = makeLensesWith (lensRules & lensField .~ addSuffix)
| ^
src/Maru/Main.hs:42:53: error:
• Variable not in scope:
(.~) :: t3 -> (Name -> [Name] -> Name -> [DefName]) -> t1
• Perhaps you meant ‘.’ (imported from Prelude)
|
42 | makeLensesA = makeLensesWith (lensRules & lensField .~ addSuffix)
| ^^
src/Maru/Main.hs:54:1: error:
GHC stage restriction:
‘makeLensesA’ is used in a top-level splice, quasi-quote, or
annotation,
and must be imported, not defined locally
|
54 | makeLensesA ''CliOptions
| ^^^^^^^^^^^
}}}
So ultimately, the root of the issue is that you're trying to use things
which aren't imported (e.g., `makeLensesWith`).
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13932#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list