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
View as plain text