blob: 6c93e3e6f1aa4640d4876856705353d78005edf3 [file] [log] [blame]
// Copyright 2021 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 p4
type Pair[T1 interface{ M() }, T2 ~int] struct {
f1 T1
f2 T2
}
func NewPair[T1 interface{ M() }, T2 ~int](v1 T1, v2 T2) Pair[T1, T2] {
return Pair[T1, T2]{f1: v1, f2: v2}
}
func (p Pair[X1, _]) First() X1 {
return p.f1
}
func (p Pair[_, X2]) Second() X2 {
return p.f2
}
// Deprecated: Use something else.
func Clone[S ~[]T, T any](s S) S {
return append(S(nil), s...)
}