// Copyright 2022 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package p func _[S string | []byte](s S) { var buf []byte _ = append(buf, s...) } func _[S ~string | ~[]byte](s S) { var buf []byte _ = append(buf, s...) } // test case from issue type byteseq interface { string | []byte } // This should allow to eliminate the two functions above. func AppendByteString[source byteseq](buf []byte, s source) []byte { return append(buf, s[1:6]...) }