[GHC] #14934: Repeated "impossible" go_axiom_rule error.
GHC
ghc-devs at haskell.org
Sun Mar 18 13:49:30 UTC 2018
#14934: Repeated "impossible" go_axiom_rule error.
-------------------------------------+-------------------------------------
Reporter: galen | Owner: (none)
Type: bug | Status: infoneeded
Priority: normal | Milestone:
Component: Compiler | Version: 8.4.1
Resolution: | Keywords:
Operating System: Linux | Architecture: x86_64
Type of failure: Compile-time | (amd64)
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by RyanGlScott):
That being said, I have a wild hunch what could be causing this.
[http://git.haskell.org/ghc.git/blob/0693b0b0500236a3dec933350a13f1b0e8c1cb54:/compiler/iface/TcIface.hs#l1336
Here] is where `go_axiom_co` is defined:
{{{#!hs
tcIfaceCo :: IfaceCoercion -> IfL Coercion
tcIfaceCo = go
where
-- ...
go (IfaceAxiomRuleCo ax cos) = AxiomRuleCo <$> go_axiom_rule ax
<*> mapM go cos
-- ...
go_axiom_rule :: FastString -> IfL CoAxiomRule
go_axiom_rule n =
case Map.lookup n typeNatCoAxiomRules of
Just ax -> return ax
_ -> pprPanic "go_axiom_rule" (ppr n)
}}}
It seems that the `Sub0R` axiom isn't in
[http://git.haskell.org/ghc.git/blob/0693b0b0500236a3dec933350a13f1b0e8c1cb54:/compiler/typecheck/TcTypeNats.hs#l378
typeNatCoAxiomRules]:
{{{#!hs
typeNatCoAxiomRules :: Map.Map FastString CoAxiomRule
typeNatCoAxiomRules = Map.fromList $ map (\x -> (coaxrName x, x))
[ axAddDef
, axMulDef
, axExpDef
, axLeqDef
, axCmpNatDef
, axCmpSymbolDef
, axAppendSymbolDef
, axAdd0L
, axAdd0R
, axMul0L
, axMul0R
, axMul1L
, axMul1R
, axExp1L
, axExp0R
, axExp1R
, axLeqRefl
, axCmpNatRefl
, axCmpSymbolRefl
, axLeq0L
, axSubDef
-- axSub0R isn't here!!!
, axAppendSymbol0R
, axAppendSymbol0L
, axDivDef
, axDiv1
, axModDef
, axMod1
, axLogDef
]
}}}
So perhaps we should just add it.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14934#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list