#3963: Entered absent arg
---------------------------------+------------------------------------------
Reporter: LouisWasserman | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 6.12.1
Keywords: | Difficulty:
Os: Unknown/Multiple | Testcase:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
Description changed by igloo:
Old description:
> I have little to no idea of how to produce a minimal test case, but the
> original test case isn't overwhelmingly big, I think.
>
> ghc-core --no-asm -- -O2 -fdicts-strict Data.LinearProgram.LinExpr
> produces:
>
> {{{
> Data.LinearProgram.LinExpr.solve2 :: forall c_a8Ou.
> Data.Algebra.Ring.Ring c_a8Ou
> GblId
>
> Data.LinearProgram.LinExpr.solve2 =
> \ (@ c_a8Ou) ->
> Control.Exception.Base.runtimeError
> @ Data.Algebra.Ring.Ring c_a8Ou
> "Oops! Entered absent arg ww_s9eI{v} [lid]
> <pred>main:Data.Algebra.Ring.Ring{tc r2tU}\n c{tv
> a8Ou} [tv]"
>
> Data.LinearProgram.LinExpr.solve1 :: forall v_a8Ot c_a8Ou.
> (Ord v_a8Ot,
> Eq c_a8Ou,
> Data.Algebra.Group.Group c_a8Ou) =>
> (c_a8Ou -> c_a8Ou -> c_a8Ou)
> -> Data.Algebra.Field.Field c_a8Ou
> -> [(Data.Algebra.Module.LinFunc
> v_a8Ot c_a8Ou, c_a8Ou)]
> -> Data.Algebra.Ring.Ring c_a8Ou
> GblId
>
> Data.LinearProgram.LinExpr.solve1 =
> \ (@ v_a8Ot) (@ c_a8Ou) _ _ _ _ _ _ ->
> Data.LinearProgram.LinExpr.solve2 @ c_a8Ou
>
> Data.LinearProgram.LinExpr.solve :: forall v_a8Ot c_a8Ou.
> (Ord v_a8Ot,
> Eq c_a8Ou,
> Data.Algebra.Field.VectorSpace
> c_a8Ou c_a8Ou) =>
> [(Data.Algebra.Module.LinFunc v_a8Ot
> c_a8Ou, c_a8Ou)]
> -> Data.Maybe.Maybe
> (Data.Map.Map
> v_a8Ot
> (Data.LinearProgram.LinExpr.LinExpr v_a8Ot c_a8Ou))
> GblId
>
> Data.LinearProgram.LinExpr.solve =
> __inline_me (\ (@ v_X8Pj)
> (@ c_X8Pl)
> (w_X9fu :: Ord v_X8Pj)
> (w1_X9fw :: Eq c_X8Pl)
> (w2_s9eE :: Data.Algebra.Field.VectorSpace c_X8Pl
> c_X8Pl)
> (w3_X9fJ :: [(Data.Algebra.Module.LinFunc v_X8Pj c_X8Pl,
> c_X8Pl)]) ->
> case w2_s9eE
> of _ { Data.Algebra.Field.D:VectorSpace ww_s9eG ww1_X9fK
> ->
> case ww_s9eG
> of _ { Data.Algebra.Module.D:Module _ ww4_X9fL ww5_X9fN
> ->
> (Data.LinearProgram.LinExpr.solve1
> @ v_X8Pj
> @ c_X8Pl
> w_X9fu
> w1_X9fw
> ww4_X9fL
> ww5_X9fN
> ww1_X9fK
> w3_X9fJ)
> `cast` (CoUnsafe
> Data.Algebra.Ring.Ring c_X8Pl
> (Data.Maybe.Maybe
> (Data.Map.Map
> v_X8Pj
> (Data.LinearProgram.LinExpr.LinExpr v_X8Pj c_X8Pl)))
> :: Data.Algebra.Ring.Ring c_X8Pl
> ~
> Data.Maybe.Maybe
> (Data.Map.Map
> v_X8Pj
> (Data.LinearProgram.LinExpr.LinExpr v_X8Pj c_X8Pl)))
> }
> })
>
> }}}
New description:
I have little to no idea of how to produce a minimal test case, but the
original test case isn't overwhelmingly big, I think.
{{{
ghc-core --no-asm -- -O2 -fdicts-strict Data.LinearProgram.LinExpr
}}}
produces:
{{{
Data.LinearProgram.LinExpr.solve2 :: forall c_a8Ou.
Data.Algebra.Ring.Ring c_a8Ou
GblId
Data.LinearProgram.LinExpr.solve2 =
\ (@ c_a8Ou) ->
Control.Exception.Base.runtimeError
@ Data.Algebra.Ring.Ring c_a8Ou
"Oops! Entered absent arg ww_s9eI{v} [lid]
<pred>main:Data.Algebra.Ring.Ring{tc r2tU}\n c{tv
a8Ou} [tv]"
Data.LinearProgram.LinExpr.solve1 :: forall v_a8Ot c_a8Ou.
(Ord v_a8Ot,
Eq c_a8Ou,
Data.Algebra.Group.Group c_a8Ou) =>
(c_a8Ou -> c_a8Ou -> c_a8Ou)
-> Data.Algebra.Field.Field c_a8Ou
-> [(Data.Algebra.Module.LinFunc
v_a8Ot c_a8Ou, c_a8Ou)]
-> Data.Algebra.Ring.Ring c_a8Ou
GblId
Data.LinearProgram.LinExpr.solve1 =
\ (@ v_a8Ot) (@ c_a8Ou) _ _ _ _ _ _ ->
Data.LinearProgram.LinExpr.solve2 @ c_a8Ou
Data.LinearProgram.LinExpr.solve :: forall v_a8Ot c_a8Ou.
(Ord v_a8Ot,
Eq c_a8Ou,
Data.Algebra.Field.VectorSpace c_a8Ou
c_a8Ou) =>
[(Data.Algebra.Module.LinFunc v_a8Ot
c_a8Ou, c_a8Ou)]
-> Data.Maybe.Maybe
(Data.Map.Map
v_a8Ot
(Data.LinearProgram.LinExpr.LinExpr v_a8Ot c_a8Ou))
GblId
Data.LinearProgram.LinExpr.solve =
__inline_me (\ (@ v_X8Pj)
(@ c_X8Pl)
(w_X9fu :: Ord v_X8Pj)
(w1_X9fw :: Eq c_X8Pl)
(w2_s9eE :: Data.Algebra.Field.VectorSpace c_X8Pl c_X8Pl)
(w3_X9fJ :: [(Data.Algebra.Module.LinFunc v_X8Pj c_X8Pl,
c_X8Pl)]) ->
case w2_s9eE
of _ { Data.Algebra.Field.D:VectorSpace ww_s9eG ww1_X9fK
->
case ww_s9eG
of _ { Data.Algebra.Module.D:Module _ ww4_X9fL ww5_X9fN
->
(Data.LinearProgram.LinExpr.solve1
@ v_X8Pj
@ c_X8Pl
w_X9fu
w1_X9fw
ww4_X9fL
ww5_X9fN
ww1_X9fK
w3_X9fJ)
`cast` (CoUnsafe
Data.Algebra.Ring.Ring c_X8Pl
(Data.Maybe.Maybe
(Data.Map.Map
v_X8Pj
(Data.LinearProgram.LinExpr.LinExpr v_X8Pj c_X8Pl)))
:: Data.Algebra.Ring.Ring c_X8Pl
~
Data.Maybe.Maybe
(Data.Map.Map
v_X8Pj
(Data.LinearProgram.LinExpr.LinExpr v_X8Pj c_X8Pl)))
}
})
}}}
--
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3963#comment:1>
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