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 type T" 15 } 16 } 17 18 func f[T interface{ int8 }]() { 19 println(T(1024 /* ERROR "cannot convert 1024 (untyped int value) to type T" */)) 20 } 21