Skip to content

vscoq incorrectly parses (@ as not a valid in constr scope when ssreflect is (transitively) Required #1055

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

Open
JasonGross opened this issue Mar 2, 2025 · 10 comments
Labels
bug Something isn't working

Comments

@JasonGross
Copy link
Member

Image

Proof using Type. is perfectly valid, but somehow vscoqtop does not see this. Presumably it has somehow gotten desynchronized from the document state?

@JasonGross
Copy link
Member Author

Image

Apparently it's complaining because it thinks (@ is not valid, but make builds this file fine on the commandline

@JasonGross
Copy link
Member Author

Can anyone else confirm whether or not this is an issue on my machine or if vscoq is incapable of handling https://github.com/mit-plv/fiat-crypto/blob/847d6a74e7205e8010ff9e2f405f6d30f100978a/src/Assembly/WithBedrock/SymbolicProofs.v#L351 ?

@JasonGross
Copy link
Member Author

Seems like it's a problem handling (@ in Ltac?

@JasonGross JasonGross changed the title Proof using ... gives "Command not supported (No proof-editing in progress)." even after Lemma vscoq incorrectly parses (@ as not a valid in constr scope (Proof using ... gives "Command not supported (No proof-editing in progress)." even after Lemma) Mar 3, 2025
@JasonGross
Copy link
Member Author

I am also getting this with

Derive rewrite_pass_Listable SuchThat (@FinitelyListable rewrite_pass rewrite_pass_Listable) As rewrite_pass_FinitelyListable.
Proof. prove_ListableDerive. Qed.
Global Existing Instances rewrite_pass_Listable rewrite_pass_FinitelyListable.

@rtetley rtetley added the bug Something isn't working label Mar 3, 2025
@gares
Copy link
Member

gares commented Mar 3, 2025

I think I've seen a problem with some Ltac notations before, but I never managed to pin it down. Thanks for reporting this issue.

@JasonGross
Copy link
Member Author

Is this slated to be fixed soon? It's quite frustrating to have vscoq be unable to handle files with (@, since this is pretty common

@JasonGross
Copy link
Member Author

Is there any way to invoke the thing that vscoq does on reloading the window from the command line? Currently I've narrowed down the issue to

Require Import Crypto.Assembly.Symbolic.
Definition foo := Set.
Check (@foo).

@JasonGross
Copy link
Member Author

Okay, here's a minimal-ish reproducing example:

From Coq Require Import ssreflect.
Definition foo := Set.
Check (@foo).

@JasonGross JasonGross changed the title vscoq incorrectly parses (@ as not a valid in constr scope (Proof using ... gives "Command not supported (No proof-editing in progress)." even after Lemma) vscoq incorrectly parses (@ as not a valid in constr scope when ssreflect is (transitively) Required Mar 7, 2025
@JasonGross
Copy link
Member Author

More minimized:

Declare ML Module "rocq-runtime.plugins.ssreflect".
Definition foo := Set.
Check (@foo).

@gares
Copy link
Member

gares commented Mar 8, 2025

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants