I have a rather elementary question about the compiler. If you've got crate A, and it instantiates Vec<T>, and then you have crate B, and it _also_ instantiates Vec<T> does the compiler emit Vec<T> in both A and B, or is it able to avoid re-instantiating it in B and just reusing A's?
It does it in both unless one crate is a dependency of the other
Does that also mean that you get two copies of the code in the end binary?
link time opimizations usually kill it
Got it, thanks.