@@ -290,11 +290,11 @@ def emit_bsearch_range_table(f):
290
290
fn bsearch_range_table(c: char, r: &'static [(char,char)]) -> bool {
291
291
use core::cmp::Ordering::{Equal, Less, Greater};
292
292
use core::slice::SliceExt;
293
- r.binary_search (|&(lo,hi)| {
293
+ r.binary_search_by (|&(lo,hi)| {
294
294
if lo <= c && c <= hi { Equal }
295
295
else if hi < c { Less }
296
296
else { Greater }
297
- }).found().is_some ()
297
+ }).is_ok ()
298
298
}\n
299
299
""" )
300
300
@@ -303,7 +303,7 @@ def emit_table(f, name, t_data, t_type = "&'static [(char, char)]", is_pub=True,
303
303
pub_string = ""
304
304
if is_pub :
305
305
pub_string = "pub "
306
- f .write (" %sstatic %s: %s = &[\n " % (pub_string , name , t_type ))
306
+ f .write (" %sconst %s: %s = &[\n " % (pub_string , name , t_type ))
307
307
data = ""
308
308
first = True
309
309
for dat in t_data :
@@ -329,14 +329,14 @@ def emit_property_module(f, mod, tbl, emit_fn):
329
329
def emit_regex_module (f , cats , w_data ):
330
330
f .write ("pub mod regex {\n " )
331
331
regex_class = "&'static [(char, char)]"
332
- class_table = "&'static [(&'static str, &'static %s)]" % regex_class
332
+ class_table = "&'static [(&'static str, %s)]" % regex_class
333
333
334
334
emit_table (f , "UNICODE_CLASSES" , cats , class_table ,
335
- pfun = lambda x : "(\" %s\" ,& super::%s::%s_table)" % (x [0 ], x [1 ], x [0 ]))
335
+ pfun = lambda x : "(\" %s\" ,super::%s::%s_table)" % (x [0 ], x [1 ], x [0 ]))
336
336
337
- f .write (" pub static PERLD: &'static %s = & super::general_category::Nd_table;\n \n "
337
+ f .write (" pub const PERLD: %s = super::general_category::Nd_table;\n \n "
338
338
% regex_class )
339
- f .write (" pub static PERLS: &'static %s = & super::property::White_Space_table;\n \n "
339
+ f .write (" pub const PERLS: %s = super::property::White_Space_table;\n \n "
340
340
% regex_class )
341
341
342
342
emit_table (f , "PERLW" , w_data , regex_class )
@@ -350,7 +350,7 @@ def emit_conversions_module(f, lowerupper, upperlower):
350
350
use core::slice::SliceExt;
351
351
use core::option::Option;
352
352
use core::option::Option::{Some, None};
353
- use core::slice ;
353
+ use core::result::Result::{Ok, Err} ;
354
354
355
355
pub fn to_lower(c: char) -> char {
356
356
match bsearch_case_table(c, LuLl_table) {
@@ -367,13 +367,13 @@ def emit_conversions_module(f, lowerupper, upperlower):
367
367
}
368
368
369
369
fn bsearch_case_table(c: char, table: &'static [(char, char)]) -> Option<usize> {
370
- match table.binary_search (|&(key, _)| {
370
+ match table.binary_search_by (|&(key, _)| {
371
371
if c == key { Equal }
372
372
else if key < c { Less }
373
373
else { Greater }
374
374
}) {
375
- slice::BinarySearchResult::Found (i) => Some(i),
376
- slice::BinarySearchResult::NotFound (_) => None,
375
+ Ok (i) => Some(i),
376
+ Err (_) => None,
377
377
}
378
378
}
379
379
@@ -386,10 +386,9 @@ def emit_conversions_module(f, lowerupper, upperlower):
386
386
387
387
def emit_grapheme_module (f , grapheme_table , grapheme_cats ):
388
388
f .write ("""pub mod grapheme {
389
- use core::kinds::Copy;
390
389
use core::slice::SliceExt;
391
390
pub use self::GraphemeCat::*;
392
- use core::slice ;
391
+ use core::result::Result::{Ok, Err} ;
393
392
394
393
#[allow(non_camel_case_types)]
395
394
#[derive(Clone, Copy)]
@@ -401,16 +400,16 @@ def emit_grapheme_module(f, grapheme_table, grapheme_cats):
401
400
402
401
fn bsearch_range_value_table(c: char, r: &'static [(char, char, GraphemeCat)]) -> GraphemeCat {
403
402
use core::cmp::Ordering::{Equal, Less, Greater};
404
- match r.binary_search (|&(lo, hi, _)| {
403
+ match r.binary_search_by (|&(lo, hi, _)| {
405
404
if lo <= c && c <= hi { Equal }
406
405
else if hi < c { Less }
407
406
else { Greater }
408
407
}) {
409
- slice::BinarySearchResult::Found (idx) => {
408
+ Ok (idx) => {
410
409
let (_, _, cat) = r[idx];
411
410
cat
412
411
}
413
- slice::BinarySearchResult::NotFound (_) => GC_Any
412
+ Err (_) => GC_Any
414
413
}
415
414
}
416
415
@@ -430,20 +429,20 @@ def emit_charwidth_module(f, width_table):
430
429
f .write (" use core::option::Option;\n " )
431
430
f .write (" use core::option::Option::{Some, None};\n " )
432
431
f .write (" use core::slice::SliceExt;\n " )
433
- f .write (" use core::slice ;\n " )
432
+ f .write (" use core::result::Result::{Ok, Err} ;\n " )
434
433
f .write ("""
435
434
fn bsearch_range_value_table(c: char, is_cjk: bool, r: &'static [(char, char, u8, u8)]) -> u8 {
436
435
use core::cmp::Ordering::{Equal, Less, Greater};
437
- match r.binary_search (|&(lo, hi, _, _)| {
436
+ match r.binary_search_by (|&(lo, hi, _, _)| {
438
437
if lo <= c && c <= hi { Equal }
439
438
else if hi < c { Less }
440
439
else { Greater }
441
440
}) {
442
- slice::BinarySearchResult::Found (idx) => {
441
+ Ok (idx) => {
443
442
let (_, _, r_ncjk, r_cjk) = r[idx];
444
443
if is_cjk { r_cjk } else { r_ncjk }
445
444
}
446
- slice::BinarySearchResult::NotFound (_) => 1
445
+ Err (_) => 1
447
446
}
448
447
}
449
448
""" )
@@ -530,17 +529,17 @@ def comp_pfun(char):
530
529
fn bsearch_range_value_table(c: char, r: &'static [(char, char, u8)]) -> u8 {
531
530
use core::cmp::Ordering::{Equal, Less, Greater};
532
531
use core::slice::SliceExt;
533
- use core::slice ;
534
- match r.binary_search (|&(lo, hi, _)| {
532
+ use core::result::Result::{Ok, Err} ;
533
+ match r.binary_search_by (|&(lo, hi, _)| {
535
534
if lo <= c && c <= hi { Equal }
536
535
else if hi < c { Less }
537
536
else { Greater }
538
537
}) {
539
- slice::BinarySearchResult::Found (idx) => {
538
+ Ok (idx) => {
540
539
let (_, _, result) = r[idx];
541
540
result
542
541
}
543
- slice::BinarySearchResult::NotFound (_) => 0
542
+ Err (_) => 0
544
543
}
545
544
}\n
546
545
""" )
@@ -609,7 +608,7 @@ def optimize_width_table(wtable):
609
608
unicode_version = re .search (pattern , readme .read ()).groups ()
610
609
rf .write ("""
611
610
/// The version of [Unicode](http://www.unicode.org/)
612
- /// that the `UnicodeChar ` and `UnicodeStrPrelude` traits are based on.
611
+ /// that the unicode parts of `CharExt ` and `UnicodeStrPrelude` traits are based on.
613
612
pub const UNICODE_VERSION: (u64, u64, u64) = (%s, %s, %s);
614
613
""" % unicode_version )
615
614
(canon_decomp , compat_decomp , gencats , combines ,
0 commit comments