generated from amazon-archives/__template_Apache-2.0
-
Notifications
You must be signed in to change notification settings - Fork 129
Closed
Labels
[C] BugThis is a bug. Something isn't working.This is a bug. Something isn't working.
Description
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
/// 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.
Metadata
Metadata
Assignees
Labels
[C] BugThis is a bug. Something isn't working.This is a bug. Something isn't working.