Skip to content

Instantly share code, notes, and snippets.

@Blaisorblade
Last active November 27, 2021 20:17
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Blaisorblade/88c97afd74d156d8797f6f2c7b9faaf7 to your computer and use it in GitHub Desktop.
Save Blaisorblade/88c97afd74d156d8797f6f2c7b9faaf7 to your computer and use it in GitHub Desktop.
Evidence for https://github.com/coq/coq/issues/15255; build by clone + dune build
(coq.theory
(name notation_test)
(flags (:standard)))
(lang dune 2.9)
(using coq 0.3)
Reserved Notation "L '.=' j" (at level 49, left associativity).
(* Fails *)
From notation_test Require Import test1.
(* From notation_test Require Export test1. *)
Reserved Notation "'<obj>_{' L '}' P" (at level 49).
(* V1: Works. *)
(* From notation_test Require Import test1. *)
(* Print Grammar constr. *)
(* | "49" LEFTA
[ SELF; ".="; NEXT ] *)
(* From notation_test Require Import test2. *)
(* Print Grammar constr. *)
(* | "49" LEFTA
[ SELF; ".="; NEXT
| "<obj>_{"; term LEVEL "200"; "}"; NEXT ] *)
(* V2: Fails, if test2 doesn't import test1, or if it does. *)
From notation_test Require Import test2.
(* Print Grammar constr. *)
(*
| "49" RIGHTA
[ "<obj>_{"; term LEVEL "200"; "}"; NEXT ]
*)
From notation_test Require Import test1.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment