im-rs icon indicating copy to clipboard operation
im-rs copied to clipboard

Assorted immutable collection datatypes for Rust

Results 53 im-rs issues
Sort by recently updated
recently updated
newest added

I noticed a possible panic in im-rs/src/vector/mod.rs. Although the documentation mentioned it will panic if the index is out of bounds, the code does not check whether index is out...

This behavior was quite surprising to me: ```rust use im::{hashset}; fn main() { let hs1 = hashset![1, 2, 3]; let hs2 = hashset![3, 2, 1]; println!("{}", hs1 == hs2); let...

I find it surprising that things like `impl Debug for Vector` require `A: Clone`. I have looked at the implementation and I'm pretty sure it should be possible to loosen...

Currently, there is no way to retrieve a subvector of a `Vector` by specifying a range. While `vector.clone().slice(/* ... */)` provides similar functionality, it does not panic on out-of-bounds indices...

This crate seems to be completely abandoned. There are many unfixed critical bugs (#124, #143, #152, #154) as well as missing important dependency security updates (#179). Last commit was 3f4e01a43254fe228d1ce64e47dfaf4edc8f4f19...

If you try run this code: ```rust fn main() { let iter = (0..11).map(|x| x.to_string()); let container = iter.collect::(); } ``` with ``` cargo miri run ``` it causes: ```...

`OrdMap` doesn't seem to have `iter_mut` like `HashMap`. Is there a design reason for this or is this just something that hasn't been implemented yet?

Hey! I noticed `im` seems to not have the `values_mut()` helper function for hashmaps, so I'm sending this PR implementing it. WDYT? (Disclaimer: I wrote this in the github web...

Judging by docstrings, for any `m: OrdMap`, `m.get_prev(&key)` should return the same results as `m.range(..=key).next_back()`. But that's not the case, and `get_prev` sometimes returns `None` where `range` returns `Some`. I...

`vector::Focus::chunk_at` has a signature of ```rust impl { fn chunk_at(&mut self, index: usize) -> &[A]; } ``` meaning that the lifetime of the returned slice is tied to the lifetime...