11extern crate libc;
22extern crate fst;
3+ extern crate fst_levenshtein;
4+ extern crate fst_regex;
35
46
57use std:: error:: Error ;
68use std:: fs:: File ;
79use std:: io;
810use std:: ptr;
9- use fst:: { IntoStreamer , Streamer , Levenshtein , Regex , Set , SetBuilder } ;
11+ use fst:: { IntoStreamer , Streamer , Set , SetBuilder } ;
1012use fst:: set;
1113
1214use util:: { Context , cstr_to_str, to_raw_ptr} ;
1315
1416
1517pub type FileSetBuilder = SetBuilder < & ' static mut io:: BufWriter < File > > ;
1618pub type MemSetBuilder = SetBuilder < Vec < u8 > > ;
17- pub type SetLevStream = set:: Stream < ' static , & ' static Levenshtein > ;
18- pub type SetRegexStream = set:: Stream < ' static , & ' static Regex > ;
19+ pub type SetLevStream = set:: Stream < ' static , & ' static fst_levenshtein :: Levenshtein > ;
20+ pub type SetRegexStream = set:: Stream < ' static , & ' static fst_regex :: Regex > ;
1921
2022
2123#[ no_mangle]
@@ -67,7 +69,8 @@ pub extern "C" fn fst_memsetbuilder_finish(ctx: *mut Context, ptr: *mut MemSetBu
6769}
6870
6971#[ no_mangle]
70- pub extern "C" fn fst_set_open ( ctx : * mut Context , cpath : * mut libc:: c_char ) -> * mut Set {
72+ #[ allow( unused_unsafe) ]
73+ pub unsafe extern "C" fn fst_set_open ( ctx : * mut Context , cpath : * mut libc:: c_char ) -> * mut Set {
7174 let path = cstr_to_str ( cpath) ;
7275 let set = with_context ! ( ctx, ptr:: null_mut( ) , Set :: from_path( path) ) ;
7376 to_raw_ptr ( set)
@@ -118,7 +121,7 @@ pub extern "C" fn fst_set_issuperset(self_ptr: *mut Set, oth_ptr: *mut Set) -> b
118121
119122#[ no_mangle]
120123pub extern "C" fn fst_set_levsearch ( set_ptr : * mut Set ,
121- lev_ptr : * mut Levenshtein )
124+ lev_ptr : * mut fst_levenshtein :: Levenshtein )
122125 -> * mut SetLevStream {
123126 let set = mutref_from_ptr ! ( set_ptr) ;
124127 let lev = ref_from_ptr ! ( lev_ptr) ;
@@ -128,7 +131,7 @@ make_free_fn!(fst_set_levstream_free, *mut SetLevStream);
128131set_make_next_fn ! ( fst_set_levstream_next, * mut SetLevStream ) ;
129132
130133#[ no_mangle]
131- pub extern "C" fn fst_set_regexsearch ( set_ptr : * mut Set , regex_ptr : * mut Regex )
134+ pub extern "C" fn fst_set_regexsearch ( set_ptr : * mut Set , regex_ptr : * mut fst_regex :: Regex )
132135 -> * mut SetRegexStream {
133136 let set = mutref_from_ptr ! ( set_ptr) ;
134137 let regex = ref_from_ptr ! ( regex_ptr) ;
0 commit comments