//! Utilities for working with the [General Security Profile](https://www.unicode.org/reports/tr39/#General_Security_Profile) //! for identifiers use crate::tables::identifier; pub use identifier::IdentifierType; /// Methods for determining characters not restricted from use for identifiers. pub trait GeneralSecurityProfile { /// Returns whether the character is not restricted from use for identifiers. fn identifier_allowed(self) -> bool; /// Returns the [identifier type](https://www.unicode.org/reports/tr39/#Identifier_Status_and_Type) fn identifier_type(self) -> Option<IdentifierType>; } impl GeneralSecurityProfile for char { #[inline] fn identifier_allowed(self) -> bool { identifier::identifier_status_allowed(self) } #[inline] fn identifier_type(self) -> Option<IdentifierType> { identifier::identifier_type(self) } }