import json struct Result<T> { ok bool result T } struct User { id int username string } fn func<T>() !T { text := '{"ok": true, "result":{"id":37467243, "username": "ciao"}}' a := json.decode(Result<T>, text)! return a.result } fn test_decode_with_generic_struct() { ret := func<User>()! println(ret) assert ret.id == 37467243 assert ret.username == 'ciao' }