Crate guilt_by_association [] [src]

Macro for declaring/implementing traits with fake associated consts (in stable Rust)

Currently very fragile in terms of syntax: does not support traits/impls with any kind of generic parameters (either lifetimes or types).

The same macro is used for declaring a trait with associated consts, implementing such a trait, and accessing the consts.

The syntax is the same as that proposed for associated consts, except that:

  • all consts must be at the beginning of the trait/impl, before any functions

See the tests for example usage.

At the moment they are not consts at all -- they simply expand to static functions with the same name as the declared const. You may therefore access the const by calling Trait::CONST(), or (for future proofing, in case the macro implementation changes), call the macro again to access the const, as guilty!(Trait::CONST).

Macros

guilty

Macro for declaring/implementing traits with fake associated consts