Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

RequiredTypeArguments: unexpected parse error for infix type
I am using GHC 9.10.1-alpha1, which introduces the `RequiredTypeArguments` extension. My understanding is that a visible `forall` can be instantiated with a type (without needing a `type` disambiguator) when the name of the type is unambiguously in the type syntax. For example, the following works as I would expect, since `(:!@#)` is unambiguously in the type syntax: ```hs {-# LANGUAGE GHC2024 #-} {-# LANGUAGE RequiredTypeArguments #-} module Foo where import Language.Haskell.TH idee :: forall a -> a -> a idee _ x = x type (:!@#) = Bool f :: Bool -> Bool f = idee (:!@#) -- Relies on RequiredTypeArguments to work ``` So far, so good. Now consider what happens if we change the name of the type slightly: ```hs -- No longer starts with a colon type (!@#) = Bool f :: Bool -> Bool f = idee (!@#) ``` The name has changed to `(!@#)`, but it's still unambiguously in the type syntax. Despite this, GHC no longer accepts the program! ``` $ ghc-9.10 Foo.hs [1 of 1] Compiling Foo ( Foo.hs, Foo.o ) Foo.hs:14:5: error: [GHC-76037] • Not in scope: ‘!@#’ • In the expression: idee (!@#) In an equation for ‘f’: f = idee (!@#) | 14 | f = idee (!@#) | ^^^^^^^^^^ ``` This error message is very surprising, as `(!@#)` _is_ in scope. Surely this ought to be accepted? At the very least, I didn't see this limitation of `RequiredTypeArguments` mentioned in the [relevant section of the GHC User's Guide](https://gitlab.haskell.org/ghc/ghc/-/blob/cdfe6e01f113dbed9df6703c97207c02fc60303b/docs/users_guide/exts/required_type_arguments.rst).
issue