Skip to content

Improve Rust flatbuffers crate#8572

Open
Muon wants to merge 25 commits intogoogle:masterfrom
foxglove:master
Open

Improve Rust flatbuffers crate#8572
Muon wants to merge 25 commits intogoogle:masterfrom
foxglove:master

Conversation

@Muon
Copy link

@Muon Muon commented Apr 7, 2025

This PR fixes several bugs and adds support for missing features to the flatbuffers and flatbuffers_reflection crates.

Muon added 19 commits March 4, 2025 13:36
This PR fixes several bugs and adds support for missing features to the flatbuffers and flatbuffers_reflection crates.

* fixes google#8550
* fixes google#8548
* adds reflection support for vectors of values of unknown type
* adds verification support for vectors of unions
* makes the unsafe get_field_* functions infallible as their success is implied by the unsafe precondition
* adds the unsafe function Vector::cast() for casting between vector types
* exposes get_type_size()
* adds Struct::bytes() to get a slice to a byte buffer which starts with the struct value
@google-cla
Copy link

google-cla bot commented Apr 7, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@github-actions github-actions bot added the rust label Apr 7, 2025
@jtdavis777
Copy link
Collaborator

hey @Muon - thank you for the PR! it looks like you may have some merge conflicts that need resolved. This also has quite a bit in it and I don't think we have an active Rust maintainer at the moment. It may help out a lot to either rebase this PR to have each commit address a separate issue, or break this into multiple smaller PRs that are easier to digest. I'm happy to help out how I can but I'm a total noob in Rust.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Rust] [Reflection] get_field_vector() only works for vectors of primitive types [Rust] SafeTable is not publicly visible in reflection library

4 participants