2 releases

0.1.1 Aug 12, 2020
0.1.0 May 23, 2020

#1294 in Procedural macros

Custom license

6KB
61 lines

rename-rs

crates.io docs.rs Lines of Code

Easy modification of structure names.

Example

#[rename(prepend = "One", name = "Two", append = "Three")]
struct Placeholder {
    pub one: u64,
    pub two: u64,
    pub three: u64
}

The name of the struct is now OneTwoThree.

Why?

When working with declarative macros you can't create new idents. You could also remove this problem by using a proc-macro, but this would increase the complexity. However, there's the macro concat_idents which allows you to, as you can probably guess, concat identifiers. The big problem with this macro is, that it's not yet stable and doesn't allow the creation of new identifiers. Thus I decided to create my own little helper crate that solves this problem.

The implementation for the aforementioned problem can be found here.

Dependencies

~1.5MB
~33K SLoC