I'm trying to learn how #rustlang works
But really the dependencies system is weird I believe I download & compiled some of these already in pervious project
now i've to to do it again . 
@Halano downloads should be cached somewhere in your home directory under `~/.cargo`. To avoid recompiling you can ask cargo to use the same target directory (`CARGO_TARGET_DIR`) https://doc.rust-lang.org/cargo/reference/environment-variables.html but cargo might still need to recompile it if features enabled on crates are different.
Environment Variables - The Cargo Book

@manpacket @Halano Sharing a target directory can have problems. We have a design for user level build caching; it just needs someone with time to implement.

@epage @Halano what kind of problems?

I'm using a target directory per project but check out different branches into that directory every once in a while, had it failing on me multiple times with strange errors from the linker but never managed to replicate it intentionally...

@manpacket @Halano The main one i know of is related to projects that happen to have the same artifact name.
@epage @Halano Hmm.... This might be related to my problems, I'll see if I can replicate it with that idea in mind.