modum 0.1.0

Attribute macro that rewrites named items into module::item paths
Documentation

modum

modum is a proc-macro that rewrites a named Rust item into module::item form.

Quick examples

use modum::modum;

#[modum]
pub struct PascalCase;

let _ = pascal::Case;
use modum::modum;

#[modum]
pub fn myFunction() -> u32 {
    1
}

let _ = my::function();

Naming rules

  • First segment becomes the module name (lowercase/snake):
    • HTTPServer -> http::Server
  • Remaining segments become the tail item.
  • Tail casing is item-kind-aware:
    • struct, enum, trait, type, union => PascalCase
    • fn => snake_case
    • const, static => SCREAMING_SNAKE_CASE

Single-segment names are rejected (for example Foo or foo).