Misprinted domain-free parameters with cohesion attribute
andreasabel opened this issue · comments
Andreas Abel commented
{-# OPTIONS --cohesion --erasure #-}
import Agda.Builtin.Bool
postulate
Flat : (@♭ A : Set) → Set
module @0 Bool where
open module M (@♭ A) (_ : Flat A) = Agda.Builtin.Bool public
This prints the module abstraction as module M @♭ A (_ : Flat A)
, which does not parse because of missing parenthesis around @♭ A
.
Found this bug by reading the code for the printer:
agda/src/full/Agda/Syntax/Concrete/Pretty.hs
Lines 304 to 322 in 1eb3dd8
This code bit-rotted when cohesion was added in 4a45eb9; the
noUserQuantity
check became insufficient to check whether there are modalities.Andreas Abel commented