Angle brackets are only problematic in expressions in the bodies of functions when specializing a function or a type, right? They are not problematic in signatures and type definitions.
What about using a dot when specializing in bodies? func zero<T>() T { var z T return z } func main() { x := zero.<int>() // requires a dot } This is less weird than it looks, because Go already uses a dot for type assertions and this is a similar thing. On Wed, 15 Jul 2020 at 05:39 Ian Lance Taylor <i...@golang.org> wrote: > On Tue, Jul 14, 2020 at 8:31 PM <faiface2...@gmail.com> wrote: > > > > One way to distinguish between type A[N] E and type A [N]E is to be more > space-sensitive and, for example, disallow whitespace between a type name > and the opening square bracket when it signifies type parameters. > > I would be extremely reluctant to make the syntax depend on invisible > whitespace. The syntax already depends on line breaks, but at least > line breaks are very visible. Spacing within a line can be hard to > see and it would be quite easy to make mistakes. > > Ian > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAO6k0uuAqy2kgvEWYL%2BRxhMgjW7rQi8pCaORuaauSWjmb_Mq%2BA%40mail.gmail.com.