This has a few advantages:
- It helps make it clear that zerocopy-derive is just an implementation detail of zerocopy, and shouldn't be depended upon directly
- It makes reasoning about compatibility simpler by effectively making both crates part of a single codebase. So long as the code in zerocopy is compatible with the code in zerocopy-derive in the same Git commit, then publishing them both is fine. No more need to consider compatibility between a given version of zerocopy and a range of versions of zerocopy-derive.
Note that serde does this too. Serde has a ton of experience with these sorts of issues, so all else being equal, it's a reasonable idea to do what serde does.