Crubit OSS: Don't add `//common:rust_allocator_shims` to `deps` of targets, add it as `rust_toolchain.allocator_library`.

`rust_binary.experimental_use_cc_common_link` has the default value of -1 for OSS targets, which means the decision is deferred to `rust_toolchain.experimental_use_cc_common_link`, which is False by default. For rust_* targets, since rustc performs the final linking, `rust_allocator_shims` shouldn't be necessary.

For cc_* targets that link in Rust code, rustc doesn't perform the final linking, and therefore these targets need `rust_allocator_shims`. Add this target as `rust_toolchain.allocator_library` to avoid having to manually add it to cc_* targets.

PiperOrigin-RevId: 551553185
Change-Id: Id626cb06526f639964044acd7fdda871ae4fd316
diff --git a/common/rust_allocator_shims.c b/common/rust_allocator_shims.c
index e63b826..fbf4de4 100644
--- a/common/rust_allocator_shims.c
+++ b/common/rust_allocator_shims.c
@@ -46,3 +46,6 @@
 
 // This symbol is normally emitted by rustc. 0 means OOMs should abort, 1 means OOMs should panic.
 unsigned char __attribute__((weak)) __rust_alloc_error_handler_should_panic = 1;
+
+// See https://github.com/rust-lang/rust/issues/73632#issuecomment-1563462239
+unsigned char __attribute__((weak)) __rust_no_alloc_shim_is_unstable = 0;