aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coq-doc.opam3
-rw-r--r--coq.opam3
-rw-r--r--coqide-server.opam3
-rw-r--r--coqide.opam3
-rw-r--r--dune-project5
-rw-r--r--test-suite/success/cbv_let.v34
6 files changed, 46 insertions, 5 deletions
diff --git a/coq-doc.opam b/coq-doc.opam
index 67cdbd8bf0..3a872db33d 100644
--- a/coq-doc.opam
+++ b/coq-doc.opam
@@ -20,7 +20,8 @@ depends: [
"coq" {build & = version}
]
build: [
- ["dune" "subst"] {pinned}
+# Disabled until Dune 2.8 is available
+# ["dune" "subst"] {pinned}
[
"dune"
"build"
diff --git a/coq.opam b/coq.opam
index 2f14b00238..f868d511af 100644
--- a/coq.opam
+++ b/coq.opam
@@ -26,7 +26,8 @@ depends: [
"zarith" {>= "1.10"}
]
build: [
- ["dune" "subst"] {pinned}
+# Disabled until Dune 2.8 is available
+# ["dune" "subst"] {pinned}
[
"dune"
"build"
diff --git a/coqide-server.opam b/coqide-server.opam
index 101cd4ad78..cbb0db2893 100644
--- a/coqide-server.opam
+++ b/coqide-server.opam
@@ -23,7 +23,8 @@ depends: [
"coq" {= version}
]
build: [
- ["dune" "subst"] {pinned}
+# Disabled until Dune 2.8 is available
+# ["dune" "subst"] {pinned}
[
"dune"
"build"
diff --git a/coqide.opam b/coqide.opam
index 3007200fe5..9e4fb05701 100644
--- a/coqide.opam
+++ b/coqide.opam
@@ -21,7 +21,8 @@ depends: [
"coqide-server" {= version}
]
build: [
- ["dune" "subst"] {pinned}
+# Disabled until Dune 2.8 is available
+# ["dune" "subst"] {pinned}
[
"dune"
"build"
diff --git a/dune-project b/dune-project
index 1265c993b7..1187c58449 100644
--- a/dune-project
+++ b/dune-project
@@ -5,7 +5,10 @@
(formatting
(enabled_for ocaml))
-(generate_opam_files true)
+; Pending on dune 2.8 as to avoid bug with dune subst
+; see https://github.com/ocaml/dune/pull/3879 and
+; https://github.com/ocaml/dune/pull/3879
+; (generate_opam_files true)
(license LGPL-2.1-only)
(maintainers "The Coq development team <coqdev@inria.fr>")
diff --git a/test-suite/success/cbv_let.v b/test-suite/success/cbv_let.v
new file mode 100644
index 0000000000..861a73a64e
--- /dev/null
+++ b/test-suite/success/cbv_let.v
@@ -0,0 +1,34 @@
+Record T : Type := Build_T { f : unit; g := pair f f; }.
+
+Definition t : T := {| f := tt; |}.
+
+Goal match t return unit with Build_T f g => f end = tt.
+Proof.
+cbv.
+reflexivity.
+Qed.
+
+Goal match t return prod unit unit with Build_T f g => g end = pair tt tt.
+Proof.
+cbv.
+reflexivity.
+Qed.
+
+Goal forall (x : T),
+ match x return prod unit unit with Build_T f g => g end =
+ pair match x return unit with Build_T f g => fst g end match x return unit with Build_T f g => snd g end.
+Proof.
+cbv.
+destruct x.
+reflexivity.
+Qed.
+
+Record U : Type := Build_U { h := tt }.
+
+Definition u : U := Build_U.
+
+Goal match u with Build_U h => h end = tt.
+Proof.
+cbv.
+reflexivity.
+Qed.