Propagate `--crate-type` into `cc_bindings_from_rs`.

PiperOrigin-RevId: 510503900
diff --git a/cc_bindings_from_rs/bazel_support/cc_bindings_from_rust_rule.bzl b/cc_bindings_from_rs/bazel_support/cc_bindings_from_rust_rule.bzl
index 0928eac..99633a7 100644
--- a/cc_bindings_from_rs/bazel_support/cc_bindings_from_rust_rule.bzl
+++ b/cc_bindings_from_rs/bazel_support/cc_bindings_from_rust_rule.bzl
@@ -129,14 +129,14 @@
     crate_root = crate_info.root
 
     # TODO(b/258449205): Extract `rustc_args` from the target `crate` (instead
-    # of figuring out the `crate_root` and hard-coding `--crate-type`,
-    # `panic=abort`, etc.).  It seems that `BuildInfo` from
+    # of figuring out the `crate_root` and hard-coding `panic=abort`, etc.).
+    # It seems that `BuildInfo` from
     # @rules_rust//rust/private/providers.bzl is not
     # exposed publicly?
     rustc_args = ctx.actions.args()
     rustc_args.add(crate_root)
     rustc_args.add("--crate-name", crate_info.name)
-    rustc_args.add("--crate-type", "lib")
+    rustc_args.add("--crate-type", crate_info.type)
     rustc_args.add("--codegen", "panic=abort")
 
     (h_out_file, rs_out_file) = _generate_bindings(ctx, basename, [crate_root], rustc_args)
diff --git a/cc_bindings_from_rs/test/bazel/unit_tests/generating_files/generating_files_test.bzl b/cc_bindings_from_rs/test/bazel/unit_tests/generating_files/generating_files_test.bzl
index 90232fb..c66728a 100644
--- a/cc_bindings_from_rs/test/bazel/unit_tests/generating_files/generating_files_test.bzl
+++ b/cc_bindings_from_rs/test/bazel/unit_tests/generating_files/generating_files_test.bzl
@@ -56,7 +56,7 @@
     asserts.true(env, "rusty_lib_crate_root.rs" in [i.basename for i in generate_action.inputs.to_list()])
     generate_cmdline = " ".join(generate_action.argv)
     asserts.true(env, "rusty_lib_crate_root.rs" in generate_cmdline)
-    asserts.true(env, "--crate-type lib" in generate_cmdline)
+    asserts.true(env, "--crate-type rlib" in generate_cmdline)
     asserts.true(env, "--codegen panic=abort" in generate_cmdline)
 
     # Verify that `CcBindingsFromRust` generates: