rust: Set `-C metadata` on proc-macros
Without this set, trying to load two proc-macros with the same crate
name but different hashes may fail quietly at the interner step.
Bug: 383526333
Test: m crosvm using both zerocopy-0.8 and zerocopy-0.7
Change-Id: I32b70fd8eb278c3edb649f268f762761082a46b7
diff --git a/rust/proc_macro.go b/rust/proc_macro.go
index 1ff6637..28ed68b 100644
--- a/rust/proc_macro.go
+++ b/rust/proc_macro.go
@@ -67,6 +67,7 @@
func (procMacro *procMacroDecorator) compilerFlags(ctx ModuleContext, flags Flags) Flags {
flags = procMacro.baseCompiler.compilerFlags(ctx, flags)
flags.RustFlags = append(flags.RustFlags, "--extern proc_macro")
+ flags.RustFlags = append(flags.RustFlags, "-C metadata="+ctx.ModuleName())
return flags
}