Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For lib.rs in libraries or main.rs in binary only crates this works great. But if you have multiple examples, then each example can use any dev-dependency it wants and any of the normal dependencies. It's super hard to figure out which crates are needed to add to make an example compile locally.

To give a concrete example, please look at this [1] Cargo.toml and this [2] example and try to figure out the crates its using. I've highlighted them in Cargo.toml, to show how irregular the use is [3].

We don't have test-only or binary only dependencies yet. They would make this a bit easier.

I want to focus on the code I'm writing, not onto figuring out which crates I need to include. On the bright side though, the system is still better than what C++ got which is not knowing from which header a particular symbol came from :).

[1]: https://github.com/djc/quinn/blob/e555d11a430b9760d149a27659...

[2]: https://github.com/djc/quinn/blob/e555d11a430b9760d149a27659...

[3]: https://gist.github.com/est31/7cb33e8a6b63c8798381bdb5e91a14...



Point taken!

I also wish we could specify /examples or /tests specific dependencies in Cargo.toml.

A question here is though if such a complex structure is so rare that making it easier for the 90%+ of crates is worth it, while inconveniencing the complex cases.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: