-
Notifications
You must be signed in to change notification settings - Fork 631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Names autogenerated by [destruct] should not depend on whether or not the type was defined in the same file. #3523
Comments
Comment author: @JasonGross Here is some code that works: Module foo.
Record foor := { foof : Type }.
End foo.
Module bar.
Import foo.
Goal forall x : foor, x = x.
Proof.
intro x.
destruct x.
Show.
revert foof0.
reflexivity.
Qed.
End bar. The
But if I split it into two files, it stops working: jgross@cagnode17:/tmp/bar$ cat foo.v Record foor := { foof : Type }. jgross@cagnode17:/tmp/bar$ cat bar.v Require foo.
Import foo.
Goal forall x : foor, x = x.
Proof.
intro x.
destruct x.
Show.
revert foof0.
reflexivity.
Qed. jgross@cagnode17:/tmp/bar$ coqc foo bar
I care about this mostly because it breaks my bug-minimizier. |
Just ran into this again, cc ... @herbelin ? |
Would it be possible to add a deprecated flag that changes the behavior to be uniform (I don't care which behavior is chosen, just that it not depend on the file in which the record is defined), and then set this flag in the compatibility file? It's straightforward to generate (if not particularly easy to automate) backwards-compatible updates to the CI. |
At the very least, I'd like a variant of |
Note: the issue was created automatically with bugzilla2github tool
Original bug ID: BZ#3523
From: @JasonGross
Reported version: 8.5
CC: coq-bugs-redist@lists.gforge.inria.fr
The text was updated successfully, but these errors were encountered: