Bug: 139060369

Clone this repo:
  1. 9d7cf92 Merge "Add auto_gen_config and TEST_MAPPING." by Chih-hung Hsieh · 3 months ago master android-r-preview-1
  2. 5b4aa24 Add auto_gen_config and TEST_MAPPING. by Chih-Hung Hsieh · 3 months ago
  3. 6767cb6 DO NOT MERGE - qt-qpr1-dev-plus-aosp-without-vendor@5915889 into stage-aosp-master by Xin Li · 4 months ago
  4. ee54c10 Add rust_test module. am: 23580d49f6 by Chih-Hung Hsieh · 4 months ago
  5. 658c703 Use released unicode-xid-0.2.0 at crates.io am: 8f400219ed by Chih-Hung Hsieh · 4 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.1.0"



  • Update to Unicode 12.1.0.


  • Initial release.