The string_cache_plugin crate provides atom! and ns! syntax extension that turns static atoms into their interned representation at compile time. In #95 I’ve introduced an alternative: the string_cache crate has a build script that generates a giant (couple thousand lines) macro_rules! macro:
https://gist.github.com/anonymous/1f4638851d6e3c8f1975#file-ns_atom_macros_without_plugin-rs-L326
It’s ugly, but it runs on stable Rust while the plugin breaks and needs to be updated when compile internals change.
I’m tempted to remove the plugin and change every downstream user to use the macro. Or is there still a reason to prefer the plugin? CC @Manishearth @pcwalton @frewsxcv
The
string_cache_plugincrate providesatom!andns!syntax extension that turns static atoms into their interned representation at compile time. In #95 I’ve introduced an alternative: thestring_cachecrate has a build script that generates a giant (couple thousand lines)macro_rules!macro:https://gist.github.com/anonymous/1f4638851d6e3c8f1975#file-ns_atom_macros_without_plugin-rs-L326
It’s ugly, but it runs on stable Rust while the plugin breaks and needs to be updated when compile internals change.
I’m tempted to remove the plugin and change every downstream user to use the macro. Or is there still a reason to prefer the plugin? CC @Manishearth @pcwalton @frewsxcv