christolliday / limn

Experimental cross platform GUI library
Other
404 stars 19 forks source link

Fail to build dependency #68

Open richardhozak opened 6 years ago

richardhozak commented 6 years ago

Hello, I encountered error when building limn with rustc 1.24.

   Compiling ordered_iter v0.1.0
error[E0277]: the trait bound `B: bit_vec::BitBlock` is not satisfied
   --> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/ordered_iter-0.1.0/src/lib.rs:285:32
    |
285 | impl<'a, B: bit_vec::BitBlock> OrderedSetIterator for bit_set::Iter<'a, B> {}
    |                                ^^^^^^^^^^^^^^^^^^ the trait `bit_vec::BitBlock` is not implemented for `B`
    |
    = help: consider adding a `where B: bit_vec::BitBlock` bound
    = note: required because of the requirements on the impl of `std::iter::Iterator` for `bit_set::Iter<'a, B>`

error: aborting due to previous error

error: Could not compile `ordered_iter`.
warning: build failed, waiting for other jobs to finish...
error: build failed

I tried to add the where block as rust recommends, but the error stays exactly the same. Commenting out this line with impl works, the library gets built and even examples can be built.

This error seems to be in stable_bst library which uses ordered_iter internally, but these two crates seem to be no longer maintained.

stable_bst library is used only in limn/core/src/input/keyboard.rs, it uses TreeMap and ranges from this crate. Maybe the best thing to do is just wait for ranges to be stabilized in rust and just remove this library altogether and use std BTreeMap as written in this comment.