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