GSoC Rust UNO API Weekly Update 3
Mohmed Ali
mohmedali1462005 at gmail.com
Tue Jul 1 13:33:57 UTC 2025
Hi all,
I’ll outline the progress from Week 3 of the Rust–UNO binding project.
The focus this week was on improving code quality, enhancing trait
implementations, refining memory handling, and making further progress on
the FFI infrastructure to support UNO types and integrate more cleanly with
the LibreOffice runtime.
The Debug and Display traits were improved so that outputs now correctly
show strings rather than raw pointers. I also refined the PartialEq trait
by replacing to_string() with a direct and more efficient unsafe
comparison, which avoids unnecessary conversions and improves performance.
I also considered the Hash trait, as currently OUString can’t be used with
structures like HashMap or HashSet, but haven't implemented it yet.
I reorganized testing by separating the Rust-side unit tests from the
integrated ones and placed them in dedicated files. I also added
trait-specific tests and memory drop tests, which I ran through Valgrind to
ensure safe memory handling.
Support for the UNO Type object has been implemented, including its
constructors, and the integration now allows calling Rust from C through
our FFI system. everything is now working as expected within LibreOffice’s
build environment.
In the coming week, I’ll focus on understanding how the UNO bridges work
and how they are implemented, particularly the role of the maker functions
and how UNO mapping works between components. At the same time, I’ll
continue expanding support for core UNO types to ensure that the Rust
bindings can handle more real-world use cases.
Best regards,
Mohamed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20250701/0d7823b5/attachment.htm>
More information about the LibreOffice
mailing list