Skip to content
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

anomaly involving custom notations, grammar coercions, and ltac #15362

Open
andres-erbsen opened this issue Dec 14, 2021 · 3 comments
Open

anomaly involving custom notations, grammar coercions, and ltac #15362

andres-erbsen opened this issue Dec 14, 2021 · 3 comments
Labels
kind: anomaly An uncaught exception has been raised. part: notations The notation system.

Comments

@andres-erbsen
Copy link
Contributor

Description of the problem

This can probably be minimized further

Notation ident_to_string x := ltac:(exact O).
Declare Custom Entry myident.
Notation "$ x" := x (in custom myident at level 0, x constr at level 0, format "'$' x").
Declare Custom Entry myexpr.
Notation "myexpr:( e )" := e (e custom myexpr, format "'myexpr:(' e ')'").
Notation "x" := x (in custom myexpr at level 0, x custom myident).
Notation "x" := (ident_to_string x) (in custom myexpr, x ident, only parsing).
Goal True.
  epose (myexpr:($1)).
 (* Anomaly "File "interp/constrintern.ml", line 994, characters 12-18: Assertion failed."
    Please report at http://coq.inria.fr/bugs/. *)

Coq Version

  • master from yesterday, 65b2768
  • 8.14.1
@andres-erbsen andres-erbsen added part: notations The notation system. kind: anomaly An uncaught exception has been raised. labels Dec 14, 2021
@SkySkimmer
Copy link
Contributor

Duplicate #13966 ?

@SkySkimmer
Copy link
Contributor

(which had to be re-fixed in #15343)

@herbelin
Copy link
Member

Yes, this is prevented by #15343.

Maybe inclusion of entries (here of both myident and ident in myexpr) could also be more tolerant one day.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: anomaly An uncaught exception has been raised. part: notations The notation system.
Projects
None yet
Development

No branches or pull requests

3 participants