Hacker News new | past | comments | ask | show | jobs | submit login

This article is written ass backwards.

Should start with the last part which explains that they have the WritableToBytes trait - implementing it has to be marked unsafe because it has an explicit invariant: no padding.

When it’s not implemented on a type, you can’t pass it to the writer unless you do what they did and use two pointer casts within an unsafe block. So you don’t do that. Instead, you write the initialized parts of the struct individually. They’ll probably add a derive macro to make implementing something a safe equivalent of the trait trivial.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: