@@ -818,7 +818,7 @@ and mk_arggoals ~metas env sigma goalacc funty allargs =
818818
819819let treat_case env sigma ci lbrty accu =
820820 let open EConstr in
821- let fold (sigma , accu ) (ctx , ty ) =
821+ let fold (sigma , accu ) (name , ctx , ty ) =
822822 let open Context.Rel.Declaration in
823823 let brctx = Array. of_list (List. rev_map get_annot ctx) in
824824 let args = Context.Rel. instance mkRel 0 ctx in
@@ -842,7 +842,7 @@ let std_refine ~metas env sigma cl r =
842842
843843type refiner_kind =
844844| Std of Meta .t * EConstr .t
845- | Case of case_node * (EConstr .rel_context * EConstr .t ) array
845+ | Case of case_node * (Id .t * EConstr .rel_context * EConstr .t ) array
846846
847847let refiner_gen is_case =
848848 let open Proofview.Notations in
@@ -1002,11 +1002,12 @@ let case_pf ?(with_evars=false) ~dep (indarg, typ) =
10021002 let get_branch cs =
10031003 let base = mkApp (pred, cs.cs_concl_realargs) in
10041004 let argctx = cs.cs_args in
1005+ let name = cs.cs_name in
10051006 if dep then
10061007 let argctx = Namegen. name_context env sigma argctx in
1007- (argctx, applist (base, [build_dependent_constructor cs]))
1008+ (name, argctx, applist (base, [build_dependent_constructor cs]))
10081009 else
1009- (argctx, base)
1010+ (name, argctx, base)
10101011 in
10111012 Array. map get_branch constrs
10121013 in
@@ -1032,7 +1033,7 @@ let case_pf ?(with_evars=false) ~dep (indarg, typ) =
10321033 Internal. Case ((ci, u, pms, (p,r), iv, c), branches)
10331034 | PrimitiveEta args ->
10341035 let mv = new_meta () in
1035- let (ctx, t) = branches.(0 ) in
1036+ let (_, ctx, t) = branches.(0 ) in
10361037 let metas = Meta. meta_declare mv (it_mkProd_or_LetIn t ctx) metas in
10371038 Internal. Std (metas, mkApp (mkMeta mv, Array. map nf_betaiota args))
10381039 in
0 commit comments