Skip to content

Bad error message when using UnicodeSyntax ∀ without ExplicitForall

This code

{-# LANGUAGE UnicodeSyntax #-}

id' :: ∀ a. a → a
id' a = a

produces following error

/tmp/id.hs:4:8: parse error on input `∀'

However, equivalent code without unicode syntax gives a much better error message:

id' :: forall a. a → a
id' a = a
/tmp/id.hs:4:16:
    Illegal symbol '.' in type
    Perhaps you intended -XRankNTypes or similar flag
    to enable explicit-forall syntax: forall <tvs>. <type>
Trac metadata
Trac field Value
Version 7.6.2
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information