I'm not completely convinced this is an improvement, so see what you think. It improves my own code, but I don't think it's improved much of the example code in this crate.
It's added a lot of new exported types, which makes it hard to see the important types in the documentation. Maybe the new types should be kept in submodules? Because I'm lazy, I've switched to using pub use symbol::*, along with pub(crate) for things that shouldn't be exported. I don't know if this is good style.
Please bikeshed the names. I notice LLVM uses Record for its versions of the type records (but not the symbol records).
Fixes #1
I'm not completely convinced this is an improvement, so see what you think. It improves my own code, but I don't think it's improved much of the example code in this crate.
It's added a lot of new exported types, which makes it hard to see the important types in the documentation. Maybe the new types should be kept in submodules? Because I'm lazy, I've switched to using
pub use symbol::*
, along withpub(crate)
for things that shouldn't be exported. I don't know if this is good style.Please bikeshed the names. I notice LLVM uses
Record
for its versions of the type records (but not the symbol records).