count-tts-inner

Crates.iocount-tts-inner
lib.rscount-tts-inner
version0.1.1
created_at2025-05-08 12:42:02.456262+00
updated_at2025-08-21 09:01:15.478516+00
descriptionA simple macro for counting any position tokens.
homepage
repositoryhttps://github.com/A4-Tacks/count-tts-inner-rs
max_upload_size
id1665296
size5,813
A4-Tacks (A4-Tacks)

documentation

README

Expands to the number of token trees in the inner like macro arguments

Can be used in places where macro expansion is not possible

Similar count_tts crate

Examples

Use count_tts failed case:

use count_tts::count_tts;

macro_rules! foo {
    ($t:literal) => { $t };
}

// Expected literal, `count_tts` `!` `()` is not a literal
assert_eq!(0, foo!(count_tts!()));
assert_eq!(3, foo!(count_tts!(a b c)));
assert_eq!(2, foo!(count_tts!(a (b c))));
assert_eq!(5, foo!(count_tts!(a, b, c)));

Use this crate case:

use count_tts_inner::count_tts_inner;

macro_rules! foo {
    ($t:literal) => { $t };
}

count_tts_inner! {
    assert_eq!(0, foo!(#count_tts()));
    assert_eq!(3, foo!(#count_tts(a b c)));
    assert_eq!(2, foo!(#count_tts(a (b c))));
    assert_eq!(5, foo!(#count_tts(a, b, c)));
}
Commit count: 2

cargo fmt