aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2019-10-21 14:25:41 +0200
committerPierre-Marie Pédrot2019-10-21 14:25:41 +0200
commit928096cbc5c46af86f803eb2f70608e9b1a06e9e (patch)
treed91063660f4fdca4f744ecba42ce7c04e9478e2f
parent54689c1c1e1333dd1bf63c619481c2ec99a5762e (diff)
parentc6506c9276a9c38557d523224148fe2b9d98dafa (diff)
Merge PR #10891: Fix #9851: anomaly when unsolved evar in Add Ring
Reviewed-by: ppedrot
-rw-r--r--plugins/setoid_ring/newring.ml4
-rw-r--r--test-suite/bugs/closed/bug_9851.v18
2 files changed, 20 insertions, 2 deletions
diff --git a/plugins/setoid_ring/newring.ml b/plugins/setoid_ring/newring.ml
index 76c393450b..e3e787df2c 100644
--- a/plugins/setoid_ring/newring.ml
+++ b/plugins/setoid_ring/newring.ml
@@ -139,8 +139,8 @@ let _ = add_tacdef false ((Loc.ghost,Id.of_string"ring_closed_term"
let ic c =
let env = Global.env() in
let sigma = Evd.from_env env in
- let sigma, c = Constrintern.interp_open_constr env sigma c in
- (sigma, c)
+ let c, uctx = Constrintern.interp_constr env sigma c in
+ (Evd.from_ctx uctx, c)
let ic_unsafe c = (*FIXME remove *)
let env = Global.env() in
diff --git a/test-suite/bugs/closed/bug_9851.v b/test-suite/bugs/closed/bug_9851.v
new file mode 100644
index 0000000000..1f57ce8471
--- /dev/null
+++ b/test-suite/bugs/closed/bug_9851.v
@@ -0,0 +1,18 @@
+Require Import Ring_base.
+Record word : Type := Build_word
+ { rep : Type;
+ zero : rep; one: rep;
+ add : rep -> rep -> rep;
+ sub : rep -> rep -> rep;
+ opp : rep -> rep;
+ mul : rep -> rep -> rep;
+ }.
+Axiom rth
+ : forall (word : word ),
+ @ring_theory (@rep word)
+ (@zero word)
+ (@one word) (@add word)
+ (@mul word) (@sub word)
+ (@opp word) (@eq (@rep word)).
+
+Fail Add Ring wring: (@rth _).