skade / leveldb

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

db-key version conflicts

astro opened this issue · comments

commented

It seems that these things are being refactored. I'd like to keep this issue open until these things have been resolved so that others don't spend a lot of time with these problems like I did.

  • The trait signatures of db-key 0.0.5 and 0.1.0 are very different. As Cargo allows having multiple versions of the same package, a dependency on db-key version * made my project pull in 0.1.0 while the leveldb crate still uses 0.0.5, rendering implementation of Key impossible for me. Limiting my db-key dependency to 0.0.5 fixed that although that doesn't feel very future-proof.
  • Am I supposed to pull in multiple crates (leveldb and db-key) into my own project for one piece of functionality (leveldb). I know modularity is good, but perhaps a re-export would make things easier, especially to avoid getting different versions of db-key.
  • The crate is called db-key but gets mangled by cargo/rustc to db_key, all while the repo is called key. That's confusing. Did I find the right repository?
  • levledb-0.8.1 is tagged in git but not released on crates.io.

I might add more as I progress. Note that I'm still a Rust beginner.

Hi,

this is a bit historic. I attempted to change db-key to a simpler interface, which didn't yet work out. db-key 0.1.0 is a remnant of that.

The naming issue is unfortunate and also a bit historic: when db-key was released, there was no naming rule for cargo and it was later decided the other way around. You did find the right repository.

The unreleased version is confusing me, I'll see to that.

In general, this lib is a bit suffering from me having hands in many pots of the Rust community, help and pulls are appreciated :).

Best,
Florian