Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
interpolate_idents
Warning! This crate uses a procedural macro (known today as a compiler plugin) and can only be used with Rust's nightly distribution.
You cannot currently define a struct, enum, function, or field using
concat_idents!
due to the way macros are parsed by the Rust compiler. This
will hopefully change in the future, but interpolate_idents!
sloppily solves
a side effect of the currently lacking macro system today.
Now make_fn!(favorite);
is equivalent to
fn my_favorite_fn() -> u32 { 1000 }
.
In short, surround multiple space-separated identifiers (or macro identifer
variables) with square brackets to concatenate the identifiers. Check
tests/tests.rs
for another example.
This plugin was quickly hacked together. It is likely not performant and most certainly not readable.
Crate upkeep
I'm not actively developing on nightly, so I haven't been using this plugin too often. I understand that libsyntax
is a fickle beast, so please file an issue or PR if interpolate_idents
fails to compile on the latest nightly!