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