id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
3963,Entered absent arg,LouisWasserman,,"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)))
                 }
                 })

}}}

",bug,closed,low,7.0.1,Compiler,6.12.1,fixed,,,Unknown/Multiple,Unknown/Multiple,None/Unknown,,,,,
