Source file src/internal/types/testdata/fixedbugs/issue51658.go
1 // Copyright 2022 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // This test checks syntax errors which differ between 6 // go/parser and the syntax package. 7 // TODO: consolidate eventually 8 9 package p 10 11 type F { // ERRORx "expected type|type declaration" 12 float64 13 } // ERRORx "expected declaration|non-declaration statement" 14 15 func _[T F | int](x T) { 16 _ = x == 0 // don't crash when recording type of 0 17 } 18 19 // test case from issue 20 21 type FloatType { // ERRORx "expected type|type declaration" 22 float32 | float64 23 } // ERRORx "expected declaration|non-declaration statement" 24 25 type IntegerType interface { 26 int8 | int16 | int32 | int64 | int | 27 uint8 | uint16 | uint32 | uint64 | uint 28 } 29 30 type ComplexType interface { 31 complex64 | complex128 32 } 33 34 type Number interface { 35 FloatType | IntegerType | ComplexType 36 } 37 38 func GetDefaultNumber[T Number](value, defaultValue T) T { 39 if value == 0 { 40 return defaultValue 41 } 42 return value 43 } 44