> The first parameter of nimCopyMem can't be const obviously.

Sure it can, the pointer is const, what it points to is not. It's `const T* 
const` vs `const T*`. And it's exactly this sophistry that implies that in 
practice "const" is useless: It's never applied consistently and if it were it 
would be overly verbose and it can be casted away so the C optimizer is better 
off not relying on it and computing the property on the fly...

It's also against C's spirit, you don't use types to enforce correctness, you 
use them to describe memory layouts, layouts don't have "readonly" properties. 
Correctness in C-land is approximated by testing.

Reply via email to