[source]

compiler/rename/RnFixity.hs

Note [Fixity signature lookup]

[note link]

A fixity declaration like

infixr 2 ?

can refer to a value-level operator, e.g.:

(?) :: String -> String -> String

or a type-level operator, like:

data (?) a b = A a | B b

so we extend the lookup of the reader name ‘?’ to the TcClsName namespace, as well as the original namespace.

The extended lookup is also used in other places, like resolution of deprecation declarations, and lookup of names in GHCi.