mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-06 12:18:33 +00:00
Move modules outside the proc macro
This commit is contained in:
parent
afeda72dad
commit
baebf79057
@ -129,37 +129,27 @@ pub fn symbols(input: TokenStream) -> TokenStream {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TokenStream::from(quote! {
|
TokenStream::from(quote! {
|
||||||
#[allow(non_upper_case_globals)]
|
macro_rules! keywords {
|
||||||
pub mod keywords {
|
() => {
|
||||||
use super::{Symbol, Ident};
|
#keyword_stream
|
||||||
#[derive(Clone, Copy, PartialEq, Eq)]
|
|
||||||
pub struct Keyword {
|
|
||||||
ident: Ident,
|
|
||||||
}
|
|
||||||
impl Keyword {
|
|
||||||
#[inline] pub fn ident(self) -> Ident { self.ident }
|
|
||||||
#[inline] pub fn name(self) -> Symbol { self.ident.name }
|
|
||||||
}
|
|
||||||
|
|
||||||
#keyword_stream
|
impl std::str::FromStr for Keyword {
|
||||||
|
type Err = ();
|
||||||
|
|
||||||
impl std::str::FromStr for Keyword {
|
fn from_str(s: &str) -> Result<Self, ()> {
|
||||||
type Err = ();
|
match s {
|
||||||
|
#from_str_stream
|
||||||
fn from_str(s: &str) -> Result<Self, ()> {
|
_ => Err(()),
|
||||||
match s {
|
}
|
||||||
#from_str_stream
|
|
||||||
_ => Err(()),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(non_upper_case_globals)]
|
macro_rules! symbols {
|
||||||
pub mod symbols {
|
() => {
|
||||||
use super::Symbol;
|
#symbols_stream
|
||||||
|
}
|
||||||
#symbols_stream
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Interner {
|
impl Interner {
|
||||||
|
@ -406,6 +406,34 @@ impl Interner {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub mod keywords {
|
||||||
|
use super::{Symbol, Ident};
|
||||||
|
|
||||||
|
#[derive(Clone, Copy, PartialEq, Eq)]
|
||||||
|
pub struct Keyword {
|
||||||
|
ident: Ident,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Keyword {
|
||||||
|
#[inline]
|
||||||
|
pub fn ident(self) -> Ident {
|
||||||
|
self.ident
|
||||||
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
pub fn name(self) -> Symbol {
|
||||||
|
self.ident.name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
keywords!();
|
||||||
|
}
|
||||||
|
|
||||||
|
pub mod symbols {
|
||||||
|
use super::Symbol;
|
||||||
|
symbols!();
|
||||||
|
}
|
||||||
|
|
||||||
impl Symbol {
|
impl Symbol {
|
||||||
fn is_used_keyword_2018(self) -> bool {
|
fn is_used_keyword_2018(self) -> bool {
|
||||||
self == keywords::Dyn.name()
|
self == keywords::Dyn.name()
|
||||||
|
Loading…
Reference in New Issue
Block a user