Bug: 139060369

Clone this repo:
  1. 9e86354 Merge branch '0.1.0' by Jeff Vander Stoep · 2 days ago master
  2. c1e9bc1 Initial empty repository by Inna Palant · 3 weeks ago
  3. 763998d Bump to 0.1.0 by Anthony Ramine · 2 years, 7 months ago
  4. 02cc96c update to Unicode 9 ; clean up no_std and related by kwantam · 2 years, 8 months ago
  5. bc434fd Merge pull request #2 from gwenn/typos by Riad S. Wahby · 3 years, 3 months ago


Determine if a char is a valid identifier for a parser and/or lexer according to Unicode Standard Annex #31 rules.

Build Status


extern crate unicode_xid;

use unicode_xid::UnicodeXID;

fn main() {
    let ch = 'a';
    println!("Is {} a valid start of an identifier? {}", ch, UnicodeXID::is_xid_start(ch));


unicode-xid supports a no_std feature. This eliminates dependence on std, and instead uses equivalent functions from core.


You can use this package in your project by adding the following to your Cargo.toml:

unicode-xid = "0.0.4"