michaelsproul / rust_radix_trie

Fast generic radix trie implemented in Rust
https://docs.rs/radix_trie/
MIT License
184 stars 32 forks source link

Plagued by Bugs. #8

Closed michaelsproul closed 8 years ago

michaelsproul commented 9 years ago

I've found 3 in the past day. Really needs QuickCheck tests.

michaelsproul commented 9 years ago

@allan-simon: This library is in worse shape than I thought, if you'd like to help clean it up that would be much appreciated. I'm not actually using this library for anything so at the moment it's feeling like a maintenance burden...

allan-simon commented 9 years ago

sure, if you can list those you have found for the moment, i can have a look at them

michaelsproul commented 9 years ago

I've fixed all the ones I've found (56a01a36c5c9b62770e4b39d445325265aefc582, 1e9f5e24aaf742ca762a98544264b1fcbb29e159, c82b81917dc07640ae68c2abf26f77e43d131d71), but I suspect there are more.

allan-simon commented 9 years ago

ok i see, i'm just missing the get_successor method you were talking last time in the other thread, and i should be ready to fully implement it in a real case, and starting from there i will take on fixing the bug i found (as i'm better at fixing code than creating new code) , deal ? :)

michaelsproul commented 9 years ago

yeah, I've just been wrestling with immutable/mutable traversals, which will make implementing get_successor easy (less code duplication).

michaelsproul commented 9 years ago

coming soon!

allan-simon commented 9 years ago

great to hear :)

michaelsproul commented 9 years ago

Ok @allan-simon, the get_descendant function is ready to roll.

allan-simon commented 9 years ago

thanks, works great, for the plagued by bugs, it seems to be acceptable, at least for my project, i haven't done precise comparison, but the results does not look weird to me, after i haven't made any big use of the iterators yet.

I will see in the next days to reimplement one of my earlier webservice that was implemented in C, for an autocompletion webservice. for which it will make extensive use of iterators.

michaelsproul commented 9 years ago

Yeah, I suspect we might actually be free of bugs (for now), but I'm still keen to add a bunch of QuickCheck tests at some point.

michaelsproul commented 9 years ago

Let me know how your app goes, sounds awesome!

allan-simon commented 9 years ago

right now i'm making research on the 2 points that was a "blocker" on the c implementation , which were collation, i.e being able to autocomplete "Immédiate" when typing "imme" (i think rust already have some standard library functions for that ) , and lexical order being different from one language to an other (this one may be more of an headache, as it means you can't simply rely anymore on the byte representation of the string to make a numeric sort)

michaelsproul commented 8 years ago

Given that it's been half a year without bug reports... and the quickcheck tests exist now, I'm going to close this!