diff options
| author | Pierre-Marie Pédrot | 2019-10-21 14:25:41 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2019-10-21 14:25:41 +0200 |
| commit | 928096cbc5c46af86f803eb2f70608e9b1a06e9e (patch) | |
| tree | d91063660f4fdca4f744ecba42ce7c04e9478e2f | |
| parent | 54689c1c1e1333dd1bf63c619481c2ec99a5762e (diff) | |
| parent | c6506c9276a9c38557d523224148fe2b9d98dafa (diff) | |
Merge PR #10891: Fix #9851: anomaly when unsolved evar in Add Ring
Reviewed-by: ppedrot
| -rw-r--r-- | plugins/setoid_ring/newring.ml | 4 | ||||
| -rw-r--r-- | test-suite/bugs/closed/bug_9851.v | 18 |
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 _). |
