expose upb_Message_MergeFrom in rust upb bindings
PiperOrigin-RevId: 646471315
diff --git a/rust/upb/lib.rs b/rust/upb/lib.rs
index 9d3490d..0cc73a9 100644
--- a/rust/upb/lib.rs
+++ b/rust/upb/lib.rs
@@ -22,8 +22,8 @@
mod message;
pub use message::{
- upb_Message, upb_Message_DeepClone, upb_Message_DeepCopy, upb_Message_IsEqual, upb_Message_New,
- upb_Message_SetBaseField, RawMessage,
+ upb_Message, upb_Message_DeepClone, upb_Message_DeepCopy, upb_Message_IsEqual,
+ upb_Message_MergeFrom, upb_Message_New, upb_Message_SetBaseField, RawMessage,
};
mod message_value;
diff --git a/rust/upb/message.rs b/rust/upb/message.rs
index 1aad3a4..6368075 100644
--- a/rust/upb/message.rs
+++ b/rust/upb/message.rs
@@ -1,5 +1,5 @@
use crate::opaque_pointee::opaque_pointee;
-use crate::{upb_MiniTable, upb_MiniTableField, RawArena};
+use crate::{upb_ExtensionRegistry, upb_MiniTable, upb_MiniTableField, RawArena};
use std::ptr::NonNull;
opaque_pointee!(upb_Message);
@@ -35,4 +35,12 @@
mini_table: *const upb_MiniTable,
options: i32,
) -> bool;
+
+ pub fn upb_Message_MergeFrom(
+ dst: RawMessage,
+ src: RawMessage,
+ mini_table: *const upb_MiniTable,
+ extreg: *const upb_ExtensionRegistry,
+ arena: RawArena,
+ ) -> bool;
}
diff --git a/rust/upb/upb_api.c b/rust/upb/upb_api.c
index 8842aa6..952021a 100644
--- a/rust/upb/upb_api.c
+++ b/rust/upb/upb_api.c
@@ -10,12 +10,15 @@
#define UPB_BUILD_API
-#include "upb/message/accessors.h" // IWYU pragma: keep
-#include "upb/mem/arena.h" // IWYU pragma: keep
-#include "upb/message/array.h" // IWYU pragma: keep
-#include "upb/message/compare.h" // IWYU pragma: keep
-#include "upb/message/copy.h" // IWYU pragma: keep
-#include "upb/message/map.h" // IWYU pragma: keep
-#include "upb/mini_table/message.h" // IWYU pragma: keep
+// go/keep-sorted start
+#include "upb/mem/arena.h" // IWYU pragma: keep
+#include "upb/message/accessors.h" // IWYU pragma: keep
+#include "upb/message/array.h" // IWYU pragma: keep
+#include "upb/message/compare.h" // IWYU pragma: keep
+#include "upb/message/copy.h" // IWYU pragma: keep
+#include "upb/message/map.h" // IWYU pragma: keep
+#include "upb/message/merge.h" // IWYU pragma: keep
+#include "upb/mini_table/message.h" // IWYU pragma: keep
+// go/keep-sorted end
const size_t __rust_proto_kUpb_Map_Begin = kUpb_Map_Begin;
diff --git a/rust/upb/wire.rs b/rust/upb/wire.rs
index 7660c84..dc3a3b9 100644
--- a/rust/upb/wire.rs
+++ b/rust/upb/wire.rs
@@ -1,5 +1,4 @@
use crate::{upb_ExtensionRegistry, upb_MiniTable, Arena, RawArena, RawMessage};
-use std::ptr::NonNull;
// LINT.IfChange(encode_status)
#[repr(C)]