File tree Expand file tree Collapse file tree 3 files changed +8
-0
lines changed
Expand file tree Collapse file tree 3 files changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ edition = "2021"
1515
1616[features ]
1717default = []
18+ simdutf8 = [" dep:simdutf8" ]
1819mmap = [" memmap2" ]
1920unsafe-str-decode = []
2021
@@ -28,6 +29,7 @@ log = "0.4"
2829serde = { version = " 1.0" , features = [" derive" ] }
2930memchr = " 2.4"
3031memmap2 = { version = " 0.9.0" , optional = true }
32+ simdutf8 = { version = " 0.1.5" , optional = true }
3133
3234[dev-dependencies ]
3335env_logger = " 0.11"
Original file line number Diff line number Diff line change @@ -328,6 +328,9 @@ impl<'de> Decoder<'de> {
328328
329329 #[ cfg( not( feature = "unsafe-str-decode" ) ) ]
330330 fn decode_string ( & mut self , size : usize ) -> DecodeResult < & ' de str > {
331+ #[ cfg( feature = "simdutf8" ) ]
332+ use simdutf8:: basic:: from_utf8;
333+ #[ cfg( not( feature = "simdutf8" ) ) ]
331334 use std:: str:: from_utf8;
332335
333336 let new_offset: usize = self . current_ptr + size;
Original file line number Diff line number Diff line change @@ -18,6 +18,9 @@ use memmap2::MmapOptions;
1818#[ cfg( feature = "mmap" ) ]
1919use std:: fs:: File ;
2020
21+ #[ cfg( all( feature = "simdutf8" , feature = "unsafe-str-decode" ) ) ]
22+ compile_error ! ( "features `simdutf8` and `unsafe-str-decode` are mutually exclusive" ) ;
23+
2124#[ derive( Debug , PartialEq , Eq ) ]
2225pub enum MaxMindDBError {
2326 AddressNotFoundError ( String ) ,
You can’t perform that action at this time.
0 commit comments