diff options
author | 2018-02-23 14:12:12 +0100 | |
---|---|---|
committer | 2018-02-23 14:12:12 +0100 | |
commit | 4e18be02a03ab478125aa6f08b30e738c3568572 (patch) | |
tree | eb8d91e72cd3f0a8b4b95bccf1efb82c6f97a67a /test-suite/output/bug6821.v | |
parent | 0c5f0afffd37582787f79267d9841259095b7edc (diff) |
Fixes #6821 (bug in protecting notation printing from infinite eta-expansion).
More precisely when matching
"f t" with "(fun ?x => .. ((fun ?x' => ?y) ?z') ..) ?z"
do not allow expansion of f since otherwise, we recursively have to
match "f t" with the same pattern.
Diffstat (limited to 'test-suite/output/bug6821.v')
-rw-r--r-- | test-suite/output/bug6821.v | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test-suite/output/bug6821.v b/test-suite/output/bug6821.v new file mode 100644 index 000000000..40627e331 --- /dev/null +++ b/test-suite/output/bug6821.v @@ -0,0 +1,8 @@ +(* Was failing at printing time with stack overflow due to an infinite + eta-expansion *) + +Notation "x 'where' y .. z := v " := + ((fun y => .. ((fun z => x) v) ..) v) + (at level 11, v at next level, y binder, z binder). + +Check forall f, f x where x := 1. |