diff options
| -rw-r--r-- | tactics/tacinterp.ml | 3 | ||||
| -rw-r--r-- | test-suite/success/change.v | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml index 2112b91ece..b5a5f984fc 100644 --- a/tactics/tacinterp.ml +++ b/tactics/tacinterp.ml @@ -2091,7 +2091,8 @@ and interp_atomic ist gl = function h_reduce (pf_interp_red_expr ist gl r) (interp_clause ist gl cl) | TacChange (occl,c,cl) -> h_change (Option.map (pf_interp_pattern ist gl) occl) - (if occl = None then pf_interp_type ist gl c + (if occl = None & cl.onhyps = None & cl.concl_occs = [] + then pf_interp_type ist gl c else pf_interp_constr ist gl c) (interp_clause ist gl cl) diff --git a/test-suite/success/change.v b/test-suite/success/change.v new file mode 100644 index 0000000000..cea017122e --- /dev/null +++ b/test-suite/success/change.v @@ -0,0 +1,6 @@ +(* A few tests of the syntax of clauses and of the interpretation of change *) + +Goal let a := 0+0 in a=a. +intro. +change 0 in (value of a). +change ((fun A:Type => A) nat) in (type of a). |
