You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A few times now, we've seen Cargo RMC fail when dependent crates rely on two different versions of some dependency. You can work around this by deleting one of the resulting GotoC outputs, but this isn't sound if the two versions actually have semantic differences.
We should, like Cargo, figure out how to use the version itself in the mangled symbol name and resolve the right versions of functions.
/// The `Metadata` is a hash used to make unique file names for each unit in a build./// For example:/// - A project may depend on crate `A` and crate `B`, so the package name must be in the file name./// - Similarly a project may depend on two versions of `A`, so the version must be in the file name./// In general this must include all things that need to be distinguished in different parts of/// the same build. This is absolutely required or we override things before/// we get chance to use them.
The text was updated successfully, but these errors were encountered:
avanhatt
changed the title
RMC should, like Cargo, allow multiple version of dependencies
Fix multiple version of dependencies for global allocations
Aug 23, 2021
A few times now, we've seen Cargo RMC fail when dependent crates rely on two different versions of some dependency. You can work around this by deleting one of the resulting GotoC outputs, but this isn't sound if the two versions actually have semantic differences.
We should, like Cargo, figure out how to use the version itself in the mangled symbol name and resolve the right versions of functions.
https://stephencoakley.com/2019/04/24/how-rust-solved-dependency-hell
https://github.com/rust-lang/cargo/blob/8df842f5941f7e6c34db608c9bde4c5dcebfde01/src/cargo/core/compiler/context/compilation_files.rs#L18
The text was updated successfully, but these errors were encountered: