Hi, I came accross a real problem that always forces me to cast my values. I coded my raw socket library with epoll, using available nim libraries (pure and posix).
Coding in assembly as well, I tend to use uint32 for performance reasons (uint16_t and uint64_t tend to be slower than uint32_t on x86_64 either because of memory pressure or longer instruction) My issue is that I am struggling against the system when it defines the basic "int" type. I always end up casting again and again, there and there. I don't want a 8byte integer where a 4 bytes is faster and does the job. I had to rewrite almost all the declarations slowly changing a large part of the original code base. Don't get me wrong, nim is superb when working inside nim. But once you go low level and interact with c low level code, you are going against the wind, or have to rewrite large parts of code. Just a note. Thanks