Crate impls_index

Source
Expand description

§Module :: impls_index

experimental rust-status docs.rs Open in Gitpod discord

Several of macros to put each function under a named macro to index every function in a class.

It encourages writing better code, having index of components stripped of details of implementation is very important for comprehension of the code and ability to see the big picture.

§Basic use-case

use ::impls_index::*;

impls1!
{
  fn f1() -> i32
  {
    println!( "f1() : 13" );
    13
  }
};

index!
{
  f1,
}

assert_eq!( f1(), 13 );
/* print : f1() : 13 */

§To add to your project

cargo add impls_index_meta

§Try out from the repository

git clone https://github.com/Wandalen/wTools
cd wTools
cd examples/impls_index_trivial
cargo run

Modules§

  • Namespace with dependencies.
  • Exposed namespace of the module.
  • Collection of general purpose meta tools.
  • Orphan namespace of the module.
  • Own namespace of the module.
  • Prelude to use essentials: use my_module::prelude::*.

Macros§

  • Internal impls1 macro. Don’t use.
  • Get name of a function.
  • Macro to rename function.
  • Split functions.
  • Split functions.
  • Macros to put each function under a named macro to index every function in a class.
  • Define implementation putting each function under a macro.
  • Define implementation putting each function under a macro.
  • Macros to put each function under a named macro to index every function in a class.
  • Define implementation putting each function under a macro.
  • Index of items.
  • Define implementation putting each function under a macro and adding attribute #[ test ].
  • Define implementation putting each function under a macro and adding attribute #[ test ].
  • Index of items.