This commit is contained in:
Aleksey Kladov
2019-02-11 21:31:54 +03:00
parent 0d34a256de
commit ae312680d6
2 changed files with 15 additions and 1 deletions

View File

@@ -1,4 +1,4 @@
/// `tt` crate defines a `TokenTree` datastructure: this is the interface (both
/// `tt` crate defines a `TokenTree` data structure: this is the interface (both
/// input and output) of macros. It closely mirrors `proc_macro` crate's
/// `TokenTree`.
@@ -18,6 +18,12 @@ use std::fmt;
use smol_str::SmolStr;
/// Represents identity of the token.
///
/// For hygiene purposes, we need to track which expanded tokens originated from
/// which source tokens. We do it by assigning an distinct identity to each
/// source token and making sure that identities are preserved during macro
/// expansion.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct TokenId(pub u32);