1 // Copyright 2021 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 package p
6
7 type integer interface {
8 ~int | ~int8 | ~int16 | ~int32 | ~int64 |
9 ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr
10 }
11
12 func Add1024[T integer](s []T) {
13 for i, v := range s {
14 s[i] = v + 1024 // ERROR cannot convert 1024 \(untyped int constant\) to T
15 }
16 }
17
18 func f[T interface{ int8 }]() {
19 println(T(1024 /* ERROR cannot convert 1024 \(untyped int value\) to T */))
20 }
21
View as plain text