mirror of https://github.com/golang/go.git
30 lines
523 B
Plaintext
30 lines
523 B
Plaintext
// errorcheck
|
|
|
|
// Copyright 2020 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
|
|
|
|
type Setter interface {
|
|
Set(string)
|
|
}
|
|
|
|
func FromStrings[T Setter](s []string) []T {
|
|
result := make([]T, len(s))
|
|
for i, v := range s {
|
|
result[i].Set(v)
|
|
}
|
|
return result
|
|
}
|
|
|
|
type Settable int
|
|
|
|
func (p *Settable) Set(s string) {
|
|
*p = 0
|
|
}
|
|
|
|
func F() {
|
|
FromStrings[Settable]([]string{"1"}) // ERROR "Settable does not satisfy Setter"
|
|
}
|