@@ -18,12 +18,16 @@ const fn bitset_search<
18
18
let bucket_idx = ( needle / 64 ) as usize ;
19
19
let chunk_map_idx = bucket_idx / CHUNK_SIZE ;
20
20
let chunk_piece = bucket_idx % CHUNK_SIZE ;
21
+ // FIXME: const-hack: Revert to `slice::get` after `const_slice_index`
22
+ // feature stabilizes.
21
23
let chunk_idx = if chunk_map_idx < chunk_idx_map. len ( ) {
22
24
chunk_idx_map[ chunk_map_idx]
23
25
} else {
24
26
return false ;
25
27
} ;
26
28
let idx = bitset_chunk_idx[ chunk_idx as usize ] [ chunk_piece] as usize ;
29
+ // FIXME: const-hack: Revert to `slice::get` after `const_slice_index`
30
+ // feature stabilizes.
27
31
let word = if idx < bitset_canonical. len ( ) {
28
32
bitset_canonical[ idx]
29
33
} else {
@@ -319,14 +323,14 @@ pub mod grapheme_extend {
319
323
320
324
#[ rustfmt:: skip]
321
325
pub mod lowercase {
322
- const BITSET_CHUNKS_MAP : [ u8 ; 123 ] = [
326
+ const BITSET_CHUNKS_MAP : & ' static [ u8 ; 123 ] = & [
323
327
14 , 17 , 0 , 0 , 9 , 0 , 0 , 12 , 13 , 10 , 0 , 16 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
324
328
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 6 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
325
329
0 , 0 , 0 , 4 , 1 , 0 , 15 , 0 , 8 , 0 , 0 , 11 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
326
330
0 , 0 , 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 18 , 0 ,
327
331
3 , 0 , 0 , 7 ,
328
332
] ;
329
- const BITSET_INDEX_CHUNKS : [ [ u8 ; 16 ] ; 19 ] = [
333
+ const BITSET_INDEX_CHUNKS : & ' static [ [ u8 ; 16 ] ; 19 ] = & [
330
334
[ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
331
335
[ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 59 , 0 , 0 ] ,
332
336
[ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 16 , 14 , 55 , 0 ] ,
@@ -347,7 +351,7 @@ pub mod lowercase {
347
351
[ 16 , 49 , 2 , 20 , 66 , 9 , 57 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
348
352
[ 63 , 39 , 54 , 12 , 73 , 61 , 18 , 1 , 6 , 62 , 71 , 19 , 68 , 69 , 3 , 44 ] ,
349
353
] ;
350
- const BITSET_CANONICAL : [ u64 ; 55 ] = [
354
+ const BITSET_CANONICAL : & ' static [ u64 ; 55 ] = & [
351
355
0b0000000000000000000000000000000000000000000000000000000000000000 ,
352
356
0b1111111111111111110000000000000000000000000011111111111111111111 ,
353
357
0b1010101010101010101010101010101010101010101010101010100000000010 ,
@@ -404,7 +408,7 @@ pub mod lowercase {
404
408
0b1110011111111111111111111111111111111111111111110000000000000000 ,
405
409
0b1110101111000000000000000000000000001111111111111111111111111100 ,
406
410
] ;
407
- const BITSET_MAPPING : [ ( u8 , u8 ) ; 20 ] = [
411
+ const BITSET_MAPPING : & ' static [ ( u8 , u8 ) ; 20 ] = & [
408
412
( 0 , 64 ) , ( 1 , 188 ) , ( 1 , 183 ) , ( 1 , 176 ) , ( 1 , 109 ) , ( 1 , 124 ) , ( 1 , 126 ) , ( 1 , 66 ) , ( 1 , 70 ) ,
409
413
( 1 , 77 ) , ( 2 , 146 ) , ( 2 , 144 ) , ( 2 , 83 ) , ( 3 , 12 ) , ( 3 , 6 ) , ( 4 , 156 ) , ( 4 , 78 ) , ( 5 , 187 ) ,
410
414
( 6 , 132 ) , ( 7 , 93 ) ,
@@ -456,14 +460,14 @@ pub mod n {
456
460
457
461
#[ rustfmt:: skip]
458
462
pub mod uppercase {
459
- const BITSET_CHUNKS_MAP : [ u8 ; 125 ] = [
463
+ const BITSET_CHUNKS_MAP : & ' static [ u8 ; 125 ] = & [
460
464
12 , 15 , 6 , 6 , 0 , 6 , 6 , 2 , 4 , 11 , 6 , 16 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 ,
461
465
6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 8 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 ,
462
466
6 , 6 , 6 , 5 , 6 , 14 , 6 , 10 , 6 , 6 , 1 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 ,
463
467
6 , 7 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 13 , 6 , 6 ,
464
468
6 , 6 , 9 , 6 , 3 ,
465
469
] ;
466
- const BITSET_INDEX_CHUNKS : [ [ u8 ; 16 ] ; 17 ] = [
470
+ const BITSET_INDEX_CHUNKS : & ' static [ [ u8 ; 16 ] ; 17 ] = & [
467
471
[ 43 , 43 , 5 , 34 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 5 , 1 ] ,
468
472
[ 43 , 43 , 5 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 ] ,
469
473
[ 43 , 43 , 39 , 43 , 43 , 43 , 43 , 43 , 17 , 17 , 62 , 17 , 42 , 29 , 24 , 23 ] ,
@@ -482,7 +486,7 @@ pub mod uppercase {
482
486
[ 57 , 19 , 2 , 18 , 10 , 47 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 ] ,
483
487
[ 57 , 37 , 17 , 27 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 , 43 ] ,
484
488
] ;
485
- const BITSET_CANONICAL : [ u64 ; 43 ] = [
489
+ const BITSET_CANONICAL : & ' static [ u64 ; 43 ] = & [
486
490
0b0000011111111111111111111111111000000000000000000000000000000000 ,
487
491
0b0000000000111111111111111111111111111111111111111111111111111111 ,
488
492
0b0101010101010101010101010101010101010101010101010101010000000001 ,
@@ -527,7 +531,7 @@ pub mod uppercase {
527
531
0b1111011111111111000000000000000000000000000000000000000000000000 ,
528
532
0b1111111100000000111111110000000000111111000000001111111100000000 ,
529
533
] ;
530
- const BITSET_MAPPING : [ ( u8 , u8 ) ; 25 ] = [
534
+ const BITSET_MAPPING : & ' static [ ( u8 , u8 ) ; 25 ] = & [
531
535
( 0 , 187 ) , ( 0 , 177 ) , ( 0 , 171 ) , ( 0 , 167 ) , ( 0 , 164 ) , ( 0 , 32 ) , ( 0 , 47 ) , ( 0 , 51 ) , ( 0 , 121 ) ,
532
536
( 0 , 117 ) , ( 0 , 109 ) , ( 1 , 150 ) , ( 1 , 148 ) , ( 1 , 142 ) , ( 1 , 134 ) , ( 1 , 131 ) , ( 1 , 64 ) , ( 2 , 164 ) ,
533
537
( 2 , 146 ) , ( 2 , 20 ) , ( 3 , 146 ) , ( 3 , 140 ) , ( 3 , 134 ) , ( 4 , 178 ) , ( 4 , 171 ) ,
0 commit comments