telety 0.4.0

Access type information across crates and modules in your proc macros
Documentation
#![allow(non_local_definitions)]

struct _YesMacro;
macro_rules! _YesMacro {
    ($($tokens:tt)*) => {
        impl YesMacro {
            pub const fn text() -> &'static str {
                $($tokens)*
            }
        }
    };
}
use _YesMacro as YesMacro;

struct NoMacro;

#[test]
fn try_invoke() {
    use telety_macro::try_invoke;

    try_invoke!(self::YesMacro!("Yes");
        impl YesMacro {
            pub const fn text() -> &'static str {
                "No"
            }
        }
    );
    try_invoke!(self::NoMacro!("Yes");
        impl NoMacro {
            pub const fn text() -> &'static str {
                "No"
            }
        }
    );

    assert_eq!(self::YesMacro::text(), "Yes");
    assert_eq!(self::NoMacro::text(), "No");
}