On Wed, Jun 17, 2020 at 10:55 AM Tyler Compton <xavi...@gmail.com> wrote:
> The reason why implicit conversions from []Foo to []Stringer isn't > supported is because Foo and Stringer have different in-memory > representations. Converting from a slice of one to a slice of another would > be more expensive than one would expect an implicit conversion to be. At > least, this is my understanding as to why. > Yes. https://golang.org/doc/faq#convert_slice_of_interface . Ian > On Wed, Jun 17, 2020 at 3:22 AM Miguel Angel Rivera Notararigo < > ntr...@gmail.com> wrote: > >> Allowing this implicit conversion would be a bad thing? because it works >> like generics without any new syntax. >> >> Also, I found this a little messy >> >> type Ordered interface { >> type int, int8, int16, int32, int64, >> uint, uint8, uint16, uint32, uint64, uintptr, >> float32, float64, >> string} >> >> >> Why not after interface? >> >> type Ordered interface type { >> int, int8, int16, int32, int64, >> uint, uint8, uint16, uint32, uint64, >> byte, rune, uintptr, >> float32, float64, >> string,} >> >> >> Sorry, I am pretty new to this, so probably the answers might be really >> obvious 😅 >> >> On Wed, Jun 17, 2020 at 4:37 AM David Anderson <d...@natulte.net> wrote: >> >>> The non-generic form _only_ accepts an argument of type []Stringer. If >>> you have a []Foo, where Foo implements Stringer, that's not good enough. >>> You will have to construct a []Stringer explicitly, and copy each Foo into >>> that []Stringer. This is a fairly common gotcha with Go, where folks expect >>> the implicit conversion to happen. >>> >>> OTOH, the generic form will accept []Foo directly, since Foo satisfies >>> the Stringer constraint. >>> >>> - Dave >>> >>> On Wed, Jun 17, 2020 at 1:20 AM Christophe Meessen < >>> christophe.mees...@gmail.com> wrote: >>> >>>> Reading the document "Type parameters - Draft desing" of June 16, 2020 ( >>>> https://go.googlesource.com/proposal/+/refs/heads/master/design/go2draft-type-parameters.md), >>>> I wonder if these two following function definitions are not equivalent and >>>> thus interchangeable >>>> >>>> func Stringify(type T Stringer)(s []T) (ret []string) >>>> >>>> func Stringify(s []Stringer) (ret []string) >>>> >>>> If the constrain is an interface, wouldn’t it be the same as to use the >>>> interface as type ? How would it be different ? >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "golang-nuts" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to golang-nuts+unsubscr...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/golang-nuts/3b758827-2d14-4769-bf94-95cf60a06b1bo%40googlegroups.com >>>> <https://groups.google.com/d/msgid/golang-nuts/3b758827-2d14-4769-bf94-95cf60a06b1bo%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "golang-nuts" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to golang-nuts+unsubscr...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/golang-nuts/CAMx%2Br7Vc9pLY63qJg1ek4ZrYq8YMyJFOLwzN5aLA6T8nho16Ww%40mail.gmail.com >>> <https://groups.google.com/d/msgid/golang-nuts/CAMx%2Br7Vc9pLY63qJg1ek4ZrYq8YMyJFOLwzN5aLA6T8nho16Ww%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/CAF9DLCm%3D0DSjRk2quhh%3D3L_eUH9%2BuxPXp6-8mzh%3DjZ0csy9rwQ%40mail.gmail.com >> <https://groups.google.com/d/msgid/golang-nuts/CAF9DLCm%3D0DSjRk2quhh%3D3L_eUH9%2BuxPXp6-8mzh%3DjZ0csy9rwQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/CAA%3DXfu1_0stPaP0U%3Dv91%3DWcyvRiWO0Pg12cKmbFYbapq%2BKir2w%40mail.gmail.com > <https://groups.google.com/d/msgid/golang-nuts/CAA%3DXfu1_0stPaP0U%3Dv91%3DWcyvRiWO0Pg12cKmbFYbapq%2BKir2w%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAOyqgcXy%3D5Fbg7aCusZMuS%2BQHA%2BzPt1-WbRhKEhnPNGXN%3D1rCA%40mail.gmail.com.