14
14
15
15
pub mod general_category {
16
16
17
+ #[ cfg( stage0) ]
17
18
fn bsearch_range_table ( c : char , r : & ' static [ ( char , char ) ] ) -> bool {
18
19
use cmp:: { Equal , Less , Greater } ;
19
20
use vec:: bsearch;
@@ -25,6 +26,18 @@ pub mod general_category {
25
26
} ) != None
26
27
}
27
28
29
+ #[ cfg( not( stage0) ) ]
30
+ fn bsearch_range_table ( c : char , r : & ' static [ ( char , char ) ] ) -> bool {
31
+ use cmp:: { Equal , Less , Greater } ;
32
+ use vec:: bsearch;
33
+ use option:: None ;
34
+ ( do bsearch ( r) |& ( lo, hi) | { cond ! (
35
+ ( lo <= c && c <= hi) { Equal }
36
+ ( hi < c) { Less }
37
+ _ { Greater }
38
+ ) } ) != None
39
+ }
40
+
28
41
29
42
static Cc_table : & ' static [ ( char , char ) ] = & [
30
43
( '\x00' , '\x1f' ) , ( '\x7f' , '\x9f' )
@@ -1449,8 +1462,7 @@ pub mod general_category {
1449
1462
}
1450
1463
1451
1464
pub mod derived_property {
1452
-
1453
-
1465
+ #[ cfg( stage0) ]
1454
1466
fn bsearch_range_table ( c : char , r : & ' static [ ( char , char ) ] ) -> bool {
1455
1467
use cmp:: { Equal , Less , Greater } ;
1456
1468
use vec:: bsearch;
@@ -1462,6 +1474,18 @@ pub mod derived_property {
1462
1474
} ) != None
1463
1475
}
1464
1476
1477
+ #[ cfg( not( stage0) ) ]
1478
+ fn bsearch_range_table ( c : char , r : & ' static [ ( char , char ) ] ) -> bool {
1479
+ use cmp:: { Equal , Less , Greater } ;
1480
+ use vec:: bsearch;
1481
+ use option:: None ;
1482
+ ( do bsearch ( r) |& ( lo, hi) | { cond ! (
1483
+ ( lo <= c && c <= hi) { Equal }
1484
+ ( hi < c) { Less }
1485
+ _ { Greater }
1486
+ ) } ) != None
1487
+ }
1488
+
1465
1489
1466
1490
static Alphabetic_table : & ' static [ ( char , char ) ] = & [
1467
1491
( '\x41' , '\x5a' ) , ( '\x61' , '\x7a' ) ,
0 commit comments