Change the arena.hpp ::Fuse return type to bool to surface whether the fuse failed.
PiperOrigin-RevId: 628161481
diff --git a/upb/mem/arena.hpp b/upb/mem/arena.hpp
index e552ceb..420adfa 100644
--- a/upb/mem/arena.hpp
+++ b/upb/mem/arena.hpp
@@ -26,7 +26,11 @@
upb_Arena* ptr() const { return ptr_.get(); }
- void Fuse(Arena& other) { upb_Arena_Fuse(ptr(), other.ptr()); }
+ // Fuses the arenas together.
+ // This operation can only be performed on arenas with no initial blocks. Will
+ // return false if the fuse failed due to either arena having an initial
+ // block.
+ bool Fuse(Arena& other) { return upb_Arena_Fuse(ptr(), other.ptr()); }
protected:
std::unique_ptr<upb_Arena, decltype(&upb_Arena_Free)> ptr_;