rustc has a new option that allows the type metadata to be omitted from the compiled .so of a dylib. This can save a bunch of space for us on Fuchsia. However, it requires that rustc is passed both the .so and the .rmeta file that contains the type metadata as `--extern <cratename>=<path>` when compiling rust binaries that link against the dylib.
We (fuchsia), have explored a couple different options, and the simplest is to just pass all dylib outputs that the toolchain documents in the `rust_dylib` tool as externs, but that seems heavy-handed.
Another option would be for dylibs (or other tools that provide a `link_output` argument to provide a list of `link_outputs` instead, or for the tools for the various rust libraries to _also_ document a metadata file, that is used with link_output, when compiling and linking rust binaries.
Any preferences on approaches before we start trying to make some CLs?
Thanks,
Aaron