diff --git a/src/bytecode.rs b/src/bytecode.rs index 2592755..17c311a 100644 --- a/src/bytecode.rs +++ b/src/bytecode.rs @@ -1,5 +1,3 @@ -use std::fmt::{Debug, Formatter, Result}; - use ecow::EcoString; use crate::ty::internal::Const; diff --git a/src/ty/common.rs b/src/ty/common.rs index 58913b1..34002db 100644 --- a/src/ty/common.rs +++ b/src/ty/common.rs @@ -1,6 +1,8 @@ use std::fmt::{Display, Formatter, Result as FmtResult}; use std::ops::Deref; +use std::sync::LazyLock; + use derive_more::Constructor; use ecow::EcoString; use regex::Regex; @@ -39,9 +41,10 @@ impl Display for Symbol { } } +static REGEX: LazyLock = LazyLock::new(|| Regex::new(r#"^[a-zA-Z\_][a-zA-Z0-9\_\'\-]*$"#).unwrap()); impl Symbol { fn normal(&self) -> bool { - !Regex::new(r#"^[a-zA-Z\_][a-zA-Z0-9\_\'\-]*$"#).unwrap().is_match(self) + !REGEX.is_match(self) } }