re offline Rust: everything in crate docs, or rustdoc (the cargo manual, incl. unstable features, etc.) you can take with, but, for example, neither serde_derive nor serde_macros actual documents container/field attributes.
I had the same issue with at least another crate, the rust doc comments were pretty short and linked to the website heavily, which... I wish I thought about httrack'ing before the flight, but, reader, I didn't.
In other news, I'm excited to announce that instead of writing a proc macro (I definitely can't off the top of my head + didn't have the right deps offline), I wrote a program that invokes cargo rustdoc, parses its JSON output, and pipes generated code to rustfmt
Because there's no reason gophers should get all the codegen fun!
@mjk well it's not even a build script, since those slow down compilation a lot too.. it's just a separate crate that generates the sources for another crate. I need to remember to run it manually now and then.
@mgattozzi I guess one hard bit is that... I sorta want my proc macro to be stateful? Like.. I'm registering (http2 compliance suite) test cases and then there should be another macro that generates the macro.. that generates rust test cases (against a specific implementation)
it's.. confusing. and I'm not exactly sure how a proc macro crate would keep track of all that.
@fasterthanlime hmmm I wonder if like a static variable is shared across invocations of the macro or not. I'm leaning towards not, but you know, who's to stop you from commiting crimes and bincoding data to disk to be read by a later invocation.