Remix.run Logo
GolDDranks 7 months ago

By linking both and not allowing mixing types, i.e. it considers types from a totally unrelated with types from b.

Also, Rust compiles the whole world at once, so any ABI breakage from mixing code from different compiler versions doesn't happen. (Editions are different thing from compiler versions, a single version of the compiler supports multiple editions.)

steveklabnik 7 months ago | parent [-]

Rust does not compile the whole world at once. Each crate is compiled separately, and then they’re all linked together at the end.

GolDDranks 7 months ago | parent [-]

Yeah, I know, but I mean that it's normal to link together crates compiled with the same compiler, unlike with C, where ABIs are stabler and binary dependencies are more common.

steveklabnik 7 months ago | parent [-]

Ah, that is very true, yeah.