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+unsubscr...@googlegroups.com
<mailto:golang-nuts+unsubscr...@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+unsubscr...@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.