aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/evd.ml
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2015-02-23 22:27:53 +0100
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2015-02-23 23:59:20 +0100
commitebfc19d792492417b129063fb511aa423e9d9e08 (patch)
tree229437122966d9bf18770982e68fa7a7895bf439 /pretyping/evd.ml
parentd64b5766aa8de3842edae167ce554c36ff46f947 (diff)
Compensating 6fd763431 on postponing subtyping evar-evar problems.
Pushing pending problems had the side-effect of later solving them in the opposite order as they arrived, resulting on different complexity (see e.g. #4076). We now take care of pushing them in reverse order so that they are treated in the same order.
Diffstat (limited to 'pretyping/evd.ml')
-rw-r--r--pretyping/evd.ml4
1 files changed, 3 insertions, 1 deletions
diff --git a/pretyping/evd.ml b/pretyping/evd.ml
index 9313e2232..4e38bd4e6 100644
--- a/pretyping/evd.ml
+++ b/pretyping/evd.ml
@@ -779,7 +779,9 @@ let merge_universe_context evd uctx' =
let set_universe_context evd uctx' =
{ evd with universes = uctx' }
-let add_conv_pb pb d = {d with conv_pbs = pb::d.conv_pbs}
+let add_conv_pb ?(tail=false) pb d =
+ if tail then {d with conv_pbs = d.conv_pbs @ [pb]}
+ else {d with conv_pbs = pb::d.conv_pbs}
let evar_source evk d = (find d evk).evar_source