At first glance, I would assume that id should be a usize...
/// The internal ID (actually a C pointer value) of this container. Do not make any
/// assumptions about it. You can use it to (re-)identify and address containers when
/// talking to i3.
pub id: i64,
At first glance, I would assume that id should be a usize...
@leshow's implementation does it that way: https://github.com/leshow/tokio-i3ipc/blob/0a8be5fa88982851f9d924ddff7c60b4bfa51fe8/i3ipc-types/src/reply.rs#L40-L43
i3 appears to treat it as a
uintptr_t
: https://github.com/i3/i3/blob/f4964faef08d6add93afbd24cc00fef0c3f6c72a/src/ipc.c#L355-L358https://github.com/i3/i3/blob/6339427f017e1265a022e6537e16a8b4a921e52f/include/yajl_utils.h#L18-L19
...but then yajl treats it as a
long long int
/%lld
? https://github.com/lloyd/yajl/blob/5e3a7856e643b4d6410ddc3f84bc2f38174f2872/src/yajl_gen.c#L208-L218I don't know anymore. Anyone care to verify this?