2个不稳定版本

0.2.0 2023年10月3日
0.1.0 2023年7月11日

#963 in 过程宏

MIT 协议

6KB
57

Literify

在传递的令牌流中字符串化(并连接)括号内的字面量。也可以在括号内与其他字符串连接。

当您需要在宏中使用字面量,但宏期望一个字面量令牌树时,这很有用,此时无法使用 stringify!

示例

use logos::Logos;

literify::literify! {
    #[derive(Debug, PartialEq, Logos)]
    enum Token {
        #[token(~("amog" u s))]
        Amogus,

        #[token(~(.))]
        Dot,
    }
}

let mut lexer = Token::lexer("amogus.");

assert_eq!(
    lexer.next(),
    Some(Ok(Token::Amogus)),
);

assert_eq!(
    lexer.next(),
    Some(Ok(Token::Dot)),
)

依赖项

~190–255KB