Josh Stone

Results 817 comments of Josh Stone

We could use a build script to enable an internal `cfg` when `Try` is available.

As mentioned on #84: * `flatten` is `Either::into_inner` * `flatten_left` is `Either::left_or_else(Right)` * `flatten_right` is `Either::right_or_else(left)` If you like, we could add these to the documentation as suggested patterns.

Do you have an example of what you're looking for? Generally, I would expect this to be generically implemented in your own crate, like: ```rust impl YourTrait for Either {...

I see. Generating a blanket impl doesn't seem too bad when the arguments and return types are independent of `Self` or associated types, similar to trait object safety. But consider...

I'm happy to answer rayon questions on this.

Concurrent `insert` will make a naive `ParallelExtend` and `FromParallelIterator` trivial, just something like `par_iter.for_each(|(key, value)| { map.insert(key, value); })`. Maybe there's a more advanced approach that could improve performance, like...

For full parity with `std`: - `BTreeMap::{range, range_mut}` and `BTreeSet::range` could be supported - `HashMap::drain` and `HashSet::drain` might work -- even though `kudzu` doesn't support removal, it may be possible...

This is the easy part of rayon support. It should also be possible to add parallel iterators for `SkipList` et al., but that's more involved, and they don't even have...

I believe `insert` currently allows smuggling `T: Sync + !Send` items across threads, since the `SkipList` itself only requires `T: Sync` to share across threads. I think it needs to...

> but there's no way to go from `&SkipList` to `T`, only to `&T` There is: ```rust pub fn insert Option ``` This is both inserting a `T` from the...