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 package p 6 7 func _[S string | []byte](s S) { 8 var buf []byte 9 _ = append(buf, s...) 10 } 11 12 func _[S ~string | ~[]byte](s S) { 13 var buf []byte 14 _ = append(buf, s...) 15 } 16 17 // test case from issue 18 19 type byteseq interface { 20 string | []byte 21 } 22 23 // This should allow to eliminate the two functions above. 24 func AppendByteString[source byteseq](buf []byte, s source) []byte { 25 return append(buf, s[1:6]...) 26 } 27