NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2369 most downloaded on crates.io
Core implementation behind macro_magic
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 8 days to 9 months
Most releases are documented
notes for 18 of 28 stable releases
1 version withdrawn
withdrawn after publishing
4 years old
29 releases · first in 2023
One column per quarter.
Upgrades edition to Rust 2024 🎉
Upgrades edition to Rust 2024 🎉
upgrade derive-syn-parse to 2.0 so syn is fully upgraded to 2.0 now (thanks @jmg-duarte !)
derive-syn-parse to 2.0 so syn is fully upgraded to 2.0 now (thanks @jmg-duarte!)Previous release should have been a major release because breaking change, 0.4.3 will be yanked and replaced with this 0.5.0
Previous release should have been a major release because breaking change, 0.4.3 will be yanked and replaced with this 0.5.0
Adds ability to have the auto-generated export_tokens macro name match the name of the exported item, since apparently this does not cause a conflict
Adds a stronger uniqueness guarantee to new_unique_export_tokens_ident by incorporating a compilation-unique tag.
Adds a stronger uniqueness guarantee to new_unique_export_tokens_ident by incorporating a compilation-unique tag.
This will resolve situations where crates using separate instances of macro_magic that happen to have #[export_tokens] declarations that use the same name and happen to have the same COUNTER value are glob imported into the same module/scope.
Though these scenarios are already exceedingly rare, after this change for this to happen again two separate macro_magic compilations would also have to have their COMPILATION_TAG: u32 value collide, which is as unlikely as two random u32 values colliding, in addition to all of the other collision requirements laid out above. So this shouldn't be an issue anymore for anyone. If it does happen, you can rest assured it will go away after a fresh compile unless the universe truly despises you.
fixes mm_override_path / MACRO_MAGIC_ROOT with leading :: not always working
This release contains breaking changes.
This release contains breaking changes.
#[use_attr] has been removed#[use_proc] has been removedpretty_print feature has been removed. For a better alternative see my proc-utils crate.#[export_tokens] that would normally be inaccessible due to private modules or inaccessible path has been removed#[import_tokens_proc] and #[import_tokens_attr] now no longer need #[use_attr] and #[use_proc] to be brought into scope properly or re-exported, thanks to a new self-calling macro structure.MACRO_MAGIC_ROOT/mm_override_path can now also be overridden on #[import_tokens_proc] and #[import_tokens_attr] by passing a path or an expr (the expr option is new). The expr must evaluate to something compatible with Into<String> and must contain a valid path to a macro_magic re-export.#[export_tokens] which allows for multiple items with the same name in the same crate (but not at the same path) and enables streamlined importing and re-exporting of macros created via macro_magic,Now properly throws a compile error at parsing time when a non-path is passed in the place of mm_override_path
Now properly throws a compile error at parsing time when a non-path is passed in the place of mm_override_path
hotfix to add #[doc(hidden)] to #[export_tokens] generated macro
#[doc(hidden)] to #[export_tokens] generated macroadds #[with_custom_parsing(..)] attribute to be used in tandem with #[import_tokens_attr]
#[with_custom_parsing(..)] attribute to be used in tandem with #[import_tokens_attr]cargo test with no features enabledNothing published for this version
Nothing published for this version
v0.3.0 Compare # Choose a tag to compare
v0.3.0
Compare
Nothing published for this version
Nothing published for this version
Nothing published for this version
v0.2.9 Compare # Choose a tag to compare
v0.2.9
Compare
v0.2.8 Compare # Choose a tag to compare
v0.2.8
Compare
v0.2.7 Compare # Choose a tag to compare
v0.2.7
Compare
v0.2.6 Compare # Choose a tag to compare
v0.2.6
Compare
v0.2.5 Compare # Choose a tag to compare
v0.2.5
Compare
v0.2.4 Compare # Choose a tag to compare
v0.2.4
Compare
v0.2.3 Compare # Choose a tag to compare
v0.2.3
Compare
v0.2.2 Compare # Choose a tag to compare
v0.2.2
Compare
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →