Thanks Sebastien Le vendredi 27 mai 2022 à 19:21:43 UTC+2, Sebastien Binet a écrit :
> what you may be looking at is (in the words of Rog Peppe) "structural > type constraints": > > https://go.dev/play/p/HiFc9CUfI7P > > -s > > On Fri May 27, 2022 at 18:32 CET, Martin Schnabel wrote: > > the reason your snippet does not work is that you pass in *payload as T > > and the zero value of a pointer type is nil and json unmarshal cannot > > with nil pointer values. so would need to pass in payload as T and > > *payload as P and somehow explain that P is *T and a > > encoding.BinaryUnmarshaler. I am not versed enough in go generics to > > know the solution, but would propose to take a simpler approach if > > possible. > > > > On 5/27/22 18:24, Martin Schnabel wrote: > > > how about https://go.dev/play/p/YXOTLKpvXNI using json unmarshal > > > directly and without using binary marshaller. > > > > > > or even https://go.dev/play/p/GFE3rnyx9f8 without the endpoint > abstraction. > > > > > > or maybe explain what you want to achieve other than unmarshalling a > > > json payload? > > > > > > best regards > > > > > > On 5/27/22 17:53, Jérôme LAFORGE wrote: > > >> Hello, > > >> I do some tests with generics with Go 1.18. > > >> But I can't reach my goal. > > >> > > >> With https://go.dev/play/p/7kxMEWtXcPG > > >> I have: > > >> ``` > > >> > > >> panic: json: Unmarshal(nil *main.payload) goroutine 1 [running]: > > >> main.main() /tmp/sandbox3884661607/prog.go:43 +0x112 Program exited. > > >> ``` > > >> > > >> Because payload (line 15) is nil > > >> > > >> Any tips ? > > >> > > >> Many thx. > > >> > > >> -- > > >> 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...@googlegroups.com > > >> <mailto:golang-nuts...@googlegroups.com>. > > >> To view this discussion on the web visit > > >> > https://groups.google.com/d/msgid/golang-nuts/5cd2414a-ee8d-4a32-b976-d8b97d677945n%40googlegroups.com > > > >> < > https://groups.google.com/d/msgid/golang-nuts/5cd2414a-ee8d-4a32-b976-d8b97d677945n%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...@googlegroups.com. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/golang-nuts/2aea3b7e-a34e-fe5f-be44-ba4432d46ee2%40mb0.org > . > > -- 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/018b69f8-c1d4-4fa1-b836-6ec9166d97c7n%40googlegroups.com.