expose upb_Message_MergeFrom in rust upb bindings

PiperOrigin-RevId: 646471315
pull/17223/head
Derek Benson 9 months ago committed by Copybara-Service
parent e2ab51b799
commit 290df684f9
  1. 4
      rust/upb/lib.rs
  2. 10
      rust/upb/message.rs
  3. 17
      rust/upb/upb_api.c
  4. 1
      rust/upb/wire.rs

@ -22,8 +22,8 @@ pub use map::{
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;

@ -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 @@ extern "C" {
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;
}

@ -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;

@ -1,5 +1,4 @@
use crate::{upb_ExtensionRegistry, upb_MiniTable, Arena, RawArena, RawMessage};
use std::ptr::NonNull;
// LINT.IfChange(encode_status)
#[repr(C)]

Loading…
Cancel
Save