Skip to content

Improves Rust code generation #8564

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Conversation

csmulhern
Copy link
Contributor

@csmulhern csmulhern commented Mar 22, 2025

This PR includes the following fixes:

The serialize_human_readable and deserialize_human_readable cfg checks in the flexbuffers crate were using incorrect syntax.


A source file in the flexbuffers crate contained a use statement for an unused class (MapReaderIndexer). This was triggering a compiler warning.


The flatbuffers crate introduces a nightly cfg flag in its build.rs file to conditionally compile code when running a nightly toolchain. Since Rust version 1.79, the cargo:rustc-check-cfg instruction should be used to avoid compiler warnings about unknown cfgs. See: https://blog.rust-lang.org/2024/05/06/check-cfg.html.


The rust_usage_test source code was using deprecated float constants. Constants like EPSILON are now directly on the float primitives (e.g. f32::EPSILON) rather than in the f32 module (std::f32::EPSILON). The new constants have existed since 1.43.0, which is below the MSRV for the flatbuffers crate (1.51).


The Cargo.toml file for the flatbuffers crate was using the package.rust key to define its MSRV (minimum supported Rust version). However, the correct key is package.rust-version.


The Rust code generator produced code with a plethora of warnings. These have been addressed.

  1. Statements such as use core::mem were included at the top of the file, so that the shorthand mem could be used to reference the std::mem module in the generated code. However, not all schemas / configurations would generate code referencing core::mem. This would trigger warnings about unused use statements. These use statements have all been removed, in favor of using the fully qualified name (::core::mem::...) in all generated code.

An exhaustive list of migrated use statements is included below:

alloc::boxed::Box
alloc::string::String
alloc::vec::Vec
core::mem
core::cmp::Ordering
  1. Similarly, use statements were used to bring traits into scope so that the trait methods could be called on types implementing that trait. For example, EndianScalar::to_little_endian. These usages have been converted to UFCS. E.g. x.to_little_endian() -> ::flatbuffers::EndianScalar::to_little_endian(x).

An exhaustive list is of migrated traits is included below:

alloc::string::ToString
flatbuffers::EndianScalar
flatbuffers::Follow
  1. References to externally defined types (e.g. flatbuffers::Vec) have been converted to use absolute paths (e.g. ::flatbuffers::Vec). Using absolute paths provides the most flexibility in terms of how the generated code is used (e.g. include!-ing the generated code in a file that defines a module named flatbuffers would not cause ambiguity around if flatbuffers::Vec references the module or the flatbuffers crate.

Enabling a cfg attribute through cargo::rustc-cfg in build.rs should be coupled with a cargo::rust-check-cfg value so that the compiler knows about the custom cfg. See: https://doc.rust-lang.org/rustc/check-cfg/cargo-specifics.html#cargorustc-check-cfg-for-buildrsbuild-script.
This update fixes a compiler warning from use of the old constants.

Constants like EPSILON are now directly on the float primitives (e.g. f32::EPSILON) rather than in the f32 module (std::f32::EPSILON).

The new constants have existed since 1.43.0, which appears to be below the MSRV for the flatbuffers crate.
The old code was using package.rust, which triggered a warning about an unused key:

warning: flatbuffers/rust/flatbuffers/Cargo.toml: unused manifest key: package.rust

The correct key for specifying MSRV is rust-version. See: https://doc.rust-lang.org/cargo/reference/rust-version.html#rust-version.
@github-actions github-actions bot added c++ codegen Involving generating code from schema rust labels Mar 22, 2025
@csmulhern
Copy link
Contributor Author

Here's a diff of the output of running RustTest.sh with these changes, which demonstrates the majority of these fixes.

diff --git a/before.txt b/after.txt
index a075a9a..de1a6ea 100644
--- a/before.txt
+++ b/after.txt
@@ -1,48 +1,4 @@
-   Compiling flatbuffers v25.2.10 (/Users/cameron/Code/flatbuffers/rust/flatbuffers)
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/lib.rs:32:17
-   |
-32 | #![cfg_attr(all(nightly, not(feature = "std")), feature(error_in_core))]
-   |                 ^^^^^^^
-   |
-   = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-   = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:13:11
-   |
-13 | #[cfg(all(nightly, not(feature = "std")))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:89:11
-   |
-89 | #[cfg(any(nightly, feature = "std"))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: `flatbuffers` (lib) generated 3 warnings
-   Compiling rust_serialize_test v0.1.0 (/Users/cameron/Code/flatbuffers/tests/rust_serialize_test)
-    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.76s
+    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.01s
      Running `target/debug/rust_serialize_test --quiet`
 OK: Rust serde tests passed.
 info: syncing channel updates for 'nightly-aarch64-apple-darwin'
@@ -52,48 +8,6 @@ info: syncing channel updates for 'nightly-aarch64-apple-darwin'
 info: checking for self-update
 info: component 'rust-src' is up to date
 info: component 'rust-std' for target 'thumbv7m-none-eabi' is up to date
-   Compiling flatbuffers v25.2.10 (/Users/cameron/Code/flatbuffers/rust/flatbuffers)
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/lib.rs:32:17
-   |
-32 | #![cfg_attr(all(nightly, not(feature = "std")), feature(error_in_core))]
-   |                 ^^^^^^^
-   |
-   = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-   = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:13:11
-   |
-13 | #[cfg(all(nightly, not(feature = "std")))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:89:11
-   |
-89 | #[cfg(any(nightly, feature = "std"))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
 warning: the feature `error_in_core` has been stable since 1.81.0 and no longer requires an attribute to enable
   --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/lib.rs:32:57
    |
@@ -102,8 +16,7 @@ warning: the feature `error_in_core` has been stable since 1.81.0 and no longer
    |
    = note: `#[warn(stable_features)]` on by default
 
-warning: `flatbuffers` (lib) generated 4 warnings
-   Compiling rust_test_no_std_compilation v0.1.0 (/Users/cameron/Code/flatbuffers/tests/rust_no_std_compilation_test)
+warning: `flatbuffers` (lib) generated 1 warning
 warning: the feature `default_alloc_error_handler` has been stable since 1.68.0 and no longer requires an attribute to enable
  --> src/main.rs:3:12
   |
@@ -113,90 +26,8 @@ warning: the feature `default_alloc_error_handler` has been stable since 1.68.0
   = note: `#[warn(stable_features)]` on by default
 
 warning: `rust_test_no_std_compilation` (bin "rust_test_no_std_compilation") generated 1 warning
-    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.36s
+    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.03s
 OK: Rust flatbuffers test no_std compilation passed.
-   Compiling flatbuffers v25.2.10 (/Users/cameron/Code/flatbuffers/rust/flatbuffers)
-   Compiling flexbuffers v25.2.10 (/Users/cameron/Code/flatbuffers/rust/flexbuffers)
-warning: unexpected `cfg` condition name: `serialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/builder/ser.rs:225:14
-    |
-225 |         cfg!(serialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "serialize_human_readable"`
-    |
-    = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(serialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(serialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-    = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `deserialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/de.rs:166:14
-    |
-166 |         cfg!(deserialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "deserialize_human_readable"`
-    |
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(deserialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(deserialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unused import: `MapReaderIndexer`
-  --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/mod.rs:29:26
-   |
-29 | pub use map::{MapReader, MapReaderIndexer};
-   |                          ^^^^^^^^^^^^^^^^
-   |
-   = note: `#[warn(unused_imports)]` on by default
-
-warning: `flexbuffers` (lib) generated 3 warnings (run `cargo fix --lib -p flexbuffers` to apply 1 suggestion)
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/lib.rs:32:17
-   |
-32 | #![cfg_attr(all(nightly, not(feature = "std")), feature(error_in_core))]
-   |                 ^^^^^^^
-   |
-   = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-   = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:13:11
-   |
-13 | #[cfg(all(nightly, not(feature = "std")))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:89:11
-   |
-89 | #[cfg(any(nightly, feature = "std"))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: `flatbuffers` (lib) generated 3 warnings
-   Compiling rust_usage_test v0.1.0 (/Users/cameron/Code/flatbuffers/tests/rust_usage_test)
 warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
   --> tests/flexbuffers_tests/qc_serious.rs:92:24
    |
@@ -267,81 +98,81 @@ warning: non-local `impl` definition, `impl` blocks should be written at the sam
     = note: this warning originates in the derive macro `Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 warning: variable `Message` should have a snake case name
-  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:51:9
+  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:44:9
    |
-51 |     let Message = match self.Message_type() {
+44 |     let Message = match self.Message_type() {
    |         ^^^^^^^ help: convert the identifier to snake case: `message`
    |
    = note: `#[warn(non_snake_case)]` on by default
 
 warning: method `Message_type` should have a snake case name
-  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:76:10
+  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:69:10
    |
-76 |   pub fn Message_type(&self) -> GameMessage {
+69 |   pub fn Message_type(&self) -> GameMessage {
    |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `message_type`
 
 warning: method `Message` should have a snake case name
-  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:83:10
+  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:76:10
    |
-83 |   pub fn Message(&self) -> Option<flatbuffers::Table<'a>> {
+76 |   pub fn Message(&self) -> Option<::flatbuffers::Table<'a>> {
    |          ^^^^^^^ help: convert the identifier to snake case: `message`
 
 warning: structure field `Message_type` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:156:9
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:148:9
     |
-156 |     pub Message_type: GameMessage,
+148 |     pub Message_type: GameMessage,
     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `message_type`
 
 warning: structure field `Message` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:157:9
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:149:9
     |
-157 |     pub Message: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
+149 |     pub Message: Option<::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>>,
     |         ^^^^^^^ help: convert the identifier to snake case: `message`
 
 warning: method `add_Message_type` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:175:10
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:167:10
     |
-175 |   pub fn add_Message_type(&mut self, Message_type: GameMessage) {
+167 |   pub fn add_Message_type(&mut self, Message_type: GameMessage) {
     |          ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `add_message_type`
 
 warning: variable `Message_type` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:175:38
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:167:38
     |
-175 |   pub fn add_Message_type(&mut self, Message_type: GameMessage) {
+167 |   pub fn add_Message_type(&mut self, Message_type: GameMessage) {
     |                                      ^^^^^^^^^^^^ help: convert the identifier to snake case: `message_type`
 
 warning: method `add_Message` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:179:10
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:171:10
     |
-179 |   pub fn add_Message(&mut self, Message: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
+171 |   pub fn add_Message(&mut self, Message: ::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>) {
     |          ^^^^^^^^^^^ help: convert the identifier to snake case: `add_message`
 
 warning: variable `Message` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:179:33
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:171:33
     |
-179 |   pub fn add_Message(&mut self, Message: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
+171 |   pub fn add_Message(&mut self, Message: ::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>) {
     |                                 ^^^^^^^ help: convert the identifier to snake case: `message`
 
 warning: structure field `Message` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:234:7
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:226:7
     |
-234 |   pub Message: GameMessageT,
+226 |   pub Message: GameMessageT,
     |       ^^^^^^^ help: convert the identifier to snake case: `message`
 
 warning: variable `Message_type` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:248:9
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:240:9
     |
-248 |     let Message_type = self.Message.game_message_type();
+240 |     let Message_type = self.Message.game_message_type();
     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `message_type`
 
 warning: variable `Message` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:249:9
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:241:9
     |
-249 |     let Message = self.Message.pack(_fbb);
+241 |     let Message = self.Message.pack(_fbb);
     |         ^^^^^^^ help: convert the identifier to snake case: `message`
 
 warning: `rust_usage_test` (test "integration_test") generated 16 warnings
-    Finished `test` profile [unoptimized + debuginfo] target(s) in 1.95s
+    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
      Running unittests bin/flatbuffers_alloc_check.rs (target/debug/deps/flatbuffers_alloc_check-cb2001dabbf826ef)
 
 running 0 tests
@@ -382,7 +213,7 @@ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; fini
 
 running 21 tests
 .....................
-test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
+test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
 
      Running tests/integration_test.rs (target/debug/deps/integration_test-d69b46f345a63abf)
 
@@ -391,7 +222,7 @@ running 263 tests
 ....................................................................................... 174/263
 ....................................................................................... 261/263
 ..
-test result: ok. 263 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
+test result: ok. 263 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
 
      Running tests/more_defaults_test.rs (target/debug/deps/more_defaults_test-f72c29d85f3c48b8)
 
@@ -406,87 +237,6 @@ running 13 tests
 test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
 
 OK: Rust tests passed.
-   Compiling flatbuffers v25.2.10 (/Users/cameron/Code/flatbuffers/rust/flatbuffers)
-warning: unexpected `cfg` condition name: `serialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/builder/ser.rs:225:14
-    |
-225 |         cfg!(serialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "serialize_human_readable"`
-    |
-    = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(serialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(serialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-    = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `deserialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/de.rs:166:14
-    |
-166 |         cfg!(deserialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "deserialize_human_readable"`
-    |
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(deserialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(deserialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unused import: `MapReaderIndexer`
-  --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/mod.rs:29:26
-   |
-29 | pub use map::{MapReader, MapReaderIndexer};
-   |                          ^^^^^^^^^^^^^^^^
-   |
-   = note: `#[warn(unused_imports)]` on by default
-
-warning: `flexbuffers` (lib) generated 3 warnings (run `cargo fix --lib -p flexbuffers` to apply 1 suggestion)
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/lib.rs:32:17
-   |
-32 | #![cfg_attr(all(nightly, not(feature = "std")), feature(error_in_core))]
-   |                 ^^^^^^^
-   |
-   = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-   = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:13:11
-   |
-13 | #[cfg(all(nightly, not(feature = "std")))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:89:11
-   |
-89 | #[cfg(any(nightly, feature = "std"))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: `flatbuffers` (lib) generated 3 warnings
-   Compiling rust_usage_test v0.1.0 (/Users/cameron/Code/flatbuffers/tests/rust_usage_test)
 warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
   --> tests/flexbuffers_tests/qc_serious.rs:92:24
    |
@@ -557,81 +307,81 @@ warning: non-local `impl` definition, `impl` blocks should be written at the sam
     = note: this warning originates in the derive macro `Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 warning: variable `Message` should have a snake case name
-  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:51:9
+  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:44:9
    |
-51 |     let Message = match self.Message_type() {
+44 |     let Message = match self.Message_type() {
    |         ^^^^^^^ help: convert the identifier to snake case: `message`
    |
    = note: `#[warn(non_snake_case)]` on by default
 
 warning: method `Message_type` should have a snake case name
-  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:76:10
+  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:69:10
    |
-76 |   pub fn Message_type(&self) -> GameMessage {
+69 |   pub fn Message_type(&self) -> GameMessage {
    |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `message_type`
 
 warning: method `Message` should have a snake case name
-  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:83:10
+  --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:76:10
    |
-83 |   pub fn Message(&self) -> Option<flatbuffers::Table<'a>> {
+76 |   pub fn Message(&self) -> Option<::flatbuffers::Table<'a>> {
    |          ^^^^^^^ help: convert the identifier to snake case: `message`
 
 warning: structure field `Message_type` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:156:9
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:148:9
     |
-156 |     pub Message_type: GameMessage,
+148 |     pub Message_type: GameMessage,
     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `message_type`
 
 warning: structure field `Message` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:157:9
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:149:9
     |
-157 |     pub Message: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
+149 |     pub Message: Option<::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>>,
     |         ^^^^^^^ help: convert the identifier to snake case: `message`
 
 warning: method `add_Message_type` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:175:10
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:167:10
     |
-175 |   pub fn add_Message_type(&mut self, Message_type: GameMessage) {
+167 |   pub fn add_Message_type(&mut self, Message_type: GameMessage) {
     |          ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `add_message_type`
 
 warning: variable `Message_type` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:175:38
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:167:38
     |
-175 |   pub fn add_Message_type(&mut self, Message_type: GameMessage) {
+167 |   pub fn add_Message_type(&mut self, Message_type: GameMessage) {
     |                                      ^^^^^^^^^^^^ help: convert the identifier to snake case: `message_type`
 
 warning: method `add_Message` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:179:10
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:171:10
     |
-179 |   pub fn add_Message(&mut self, Message: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
+171 |   pub fn add_Message(&mut self, Message: ::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>) {
     |          ^^^^^^^^^^^ help: convert the identifier to snake case: `add_message`
 
 warning: variable `Message` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:179:33
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:171:33
     |
-179 |   pub fn add_Message(&mut self, Message: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
+171 |   pub fn add_Message(&mut self, Message: ::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>) {
     |                                 ^^^^^^^ help: convert the identifier to snake case: `message`
 
 warning: structure field `Message` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:234:7
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:226:7
     |
-234 |   pub Message: GameMessageT,
+226 |   pub Message: GameMessageT,
     |       ^^^^^^^ help: convert the identifier to snake case: `message`
 
 warning: variable `Message_type` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:248:9
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:240:9
     |
-248 |     let Message_type = self.Message.game_message_type();
+240 |     let Message_type = self.Message.game_message_type();
     |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `message_type`
 
 warning: variable `Message` should have a snake case name
-   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:249:9
+   --> tests/../../rust_namer_test/rust_namer_test/game_message_wrapper_generated.rs:241:9
     |
-249 |     let Message = self.Message.pack(_fbb);
+241 |     let Message = self.Message.pack(_fbb);
     |         ^^^^^^^ help: convert the identifier to snake case: `message`
 
 warning: `rust_usage_test` (test "integration_test") generated 16 warnings
-    Finished `test` profile [unoptimized + debuginfo] target(s) in 1.99s
+    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
      Running unittests bin/flatbuffers_alloc_check.rs (target/debug/deps/flatbuffers_alloc_check-8448c3e58b50c1af)
 
 running 0 tests
@@ -672,7 +422,7 @@ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; fini
 
 running 21 tests
 .....................
-test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
+test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
 
      Running tests/integration_test.rs (target/debug/deps/integration_test-a6ce27fe70c61007)
 
@@ -681,7 +431,7 @@ running 263 tests
 ....................................................................................... 174/263
 ....................................................................................... 261/263
 ..
-test result: ok. 263 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s
+test result: ok. 263 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s
 
      Running tests/more_defaults_test.rs (target/debug/deps/more_defaults_test-f0e8efcd1af363cf)
 
@@ -696,392 +446,20 @@ running 13 tests
 test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
 
 OK: Rust tests (no_std) passed.
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/lib.rs:32:17
-   |
-32 | #![cfg_attr(all(nightly, not(feature = "std")), feature(error_in_core))]
-   |                 ^^^^^^^
-   |
-   = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-   = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:13:11
-   |
-13 | #[cfg(all(nightly, not(feature = "std")))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:89:11
-   |
-89 | #[cfg(any(nightly, feature = "std"))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `serialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/builder/ser.rs:225:14
-    |
-225 |         cfg!(serialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "serialize_human_readable"`
-    |
-    = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(serialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(serialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-    = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `deserialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/de.rs:166:14
-    |
-166 |         cfg!(deserialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "deserialize_human_readable"`
-    |
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(deserialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(deserialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unused import: `MapReaderIndexer`
-  --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/mod.rs:29:26
-   |
-29 | pub use map::{MapReader, MapReaderIndexer};
-   |                          ^^^^^^^^^^^^^^^^
-   |
-   = note: `#[warn(unused_imports)]` on by default
-
-warning: `flatbuffers` (lib) generated 3 warnings
-warning: `flexbuffers` (lib) generated 3 warnings (run `cargo fix --lib -p flexbuffers` to apply 1 suggestion)
-    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.02s
+    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.01s
      Running `target/debug/flatbuffers_alloc_check`
 Rust: Heap alloc checks completed successfully
 OK: Rust flatbuffers heap alloc test passed.
-warning: unexpected `cfg` condition name: `serialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/builder/ser.rs:225:14
-    |
-225 |         cfg!(serialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "serialize_human_readable"`
-    |
-    = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(serialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(serialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-    = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `deserialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/de.rs:166:14
-    |
-166 |         cfg!(deserialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "deserialize_human_readable"`
-    |
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(deserialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(deserialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unused import: `MapReaderIndexer`
-  --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/mod.rs:29:26
-   |
-29 | pub use map::{MapReader, MapReaderIndexer};
-   |                          ^^^^^^^^^^^^^^^^
-   |
-   = note: `#[warn(unused_imports)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/lib.rs:32:17
-   |
-32 | #![cfg_attr(all(nightly, not(feature = "std")), feature(error_in_core))]
-   |                 ^^^^^^^
-   |
-   = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-   = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:13:11
-   |
-13 | #[cfg(all(nightly, not(feature = "std")))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:89:11
-   |
-89 | #[cfg(any(nightly, feature = "std"))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: `flexbuffers` (lib) generated 3 warnings (run `cargo fix --lib -p flexbuffers` to apply 1 suggestion)
-warning: `flatbuffers` (lib) generated 3 warnings
-    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.02s
+    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.01s
      Running `target/debug/flexbuffers_alloc_check`
 [bin/flexbuffers_alloc_check.rs:137:5] start_up = 0
 [bin/flexbuffers_alloc_check.rs:137:5] after_warmup = 13
 [bin/flexbuffers_alloc_check.rs:137:5] final_allocs = 13
 OK: Rust flexbuffers heap alloc test passed.
 info: component 'clippy' for target 'aarch64-apple-darwin' is up to date
-    Checking flexbuffers v25.2.10 (/Users/cameron/Code/flatbuffers/rust/flexbuffers)
-    Checking flatbuffers v25.2.10 (/Users/cameron/Code/flatbuffers/rust/flatbuffers)
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/lib.rs:32:17
-   |
-32 | #![cfg_attr(all(nightly, not(feature = "std")), feature(error_in_core))]
-   |                 ^^^^^^^
-   |
-   = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-   = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:13:11
-   |
-13 | #[cfg(all(nightly, not(feature = "std")))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:89:11
-   |
-89 | #[cfg(any(nightly, feature = "std"))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `serialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/builder/ser.rs:225:14
-    |
-225 |         cfg!(serialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "serialize_human_readable"`
-    |
-    = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(serialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(serialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-    = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `deserialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/de.rs:166:14
-    |
-166 |         cfg!(deserialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "deserialize_human_readable"`
-    |
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(deserialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(deserialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unused import: `MapReaderIndexer`
-  --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/mod.rs:29:26
-   |
-29 | pub use map::{MapReader, MapReaderIndexer};
-   |                          ^^^^^^^^^^^^^^^^
-   |
-   = note: `#[warn(unused_imports)]` on by default
-
-warning: `flatbuffers` (lib) generated 3 warnings
-warning: `flexbuffers` (lib) generated 3 warnings (run `cargo clippy --fix --lib -p flexbuffers` to apply 1 suggestion)
-    Checking rust_usage_test v0.1.0 (/Users/cameron/Code/flatbuffers/tests/rust_usage_test)
-warning: usage of a legacy numeric constant
-   --> bin/flatbuffers_alloc_check.rs:149:48
-    |
-149 |             assert!((pos.x() - 1.0f32).abs() < std::f32::EPSILON);
-    |                                                ^^^^^^^^^^^^^^^^^
-    |
-    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
-    = note: `#[warn(clippy::legacy_numeric_constants)]` on by default
-help: use the associated constant instead
-    |
-149 |             assert!((pos.x() - 1.0f32).abs() < f32::EPSILON);
-    |                                                ~~~~~~~~~~~~
-
-warning: usage of a legacy numeric constant
-   --> bin/flatbuffers_alloc_check.rs:150:48
-    |
-150 |             assert!((pos.y() - 2.0f32).abs() < std::f32::EPSILON);
-    |                                                ^^^^^^^^^^^^^^^^^
-    |
-    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
-help: use the associated constant instead
-    |
-150 |             assert!((pos.y() - 2.0f32).abs() < f32::EPSILON);
-    |                                                ~~~~~~~~~~~~
-
-warning: usage of a legacy numeric constant
-   --> bin/flatbuffers_alloc_check.rs:151:48
-    |
-151 |             assert!((pos.z() - 3.0f32).abs() < std::f32::EPSILON);
-    |                                                ^^^^^^^^^^^^^^^^^
-    |
-    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
-help: use the associated constant instead
-    |
-151 |             assert!((pos.z() - 3.0f32).abs() < f32::EPSILON);
-    |                                                ~~~~~~~~~~~~
-
-warning: usage of a legacy numeric constant
-   --> bin/flatbuffers_alloc_check.rs:152:52
-    |
-152 |             assert!((pos.test1() - 3.0f64).abs() < std::f64::EPSILON);
-    |                                                    ^^^^^^^^^^^^^^^^^
-    |
-    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
-help: use the associated constant instead
-    |
-152 |             assert!((pos.test1() - 3.0f64).abs() < f64::EPSILON);
-    |                                                    ~~~~~~~~~~~~
-
-warning: `rust_usage_test` (bin "flatbuffers_alloc_check") generated 4 warnings
-    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.53s
+    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.03s
 OK: No Cargo clippy lints test passed.
-   Compiling flatbuffers v25.2.10 (/Users/cameron/Code/flatbuffers/rust/flatbuffers)
-   Compiling flexbuffers v25.2.10 (/Users/cameron/Code/flatbuffers/rust/flexbuffers)
-warning: unexpected `cfg` condition name: `serialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/builder/ser.rs:225:14
-    |
-225 |         cfg!(serialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "serialize_human_readable"`
-    |
-    = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(serialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(serialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-    = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `deserialize_human_readable`
-   --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/de.rs:166:14
-    |
-166 |         cfg!(deserialize_human_readable)
-    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: found config with similar value: `feature = "deserialize_human_readable"`
-    |
-    = help: consider using a Cargo feature instead
-    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-             [lints.rust]
-             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(deserialize_human_readable)'] }
-    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(deserialize_human_readable)");` to the top of the `build.rs`
-    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unused import: `MapReaderIndexer`
-  --> /Users/cameron/Code/flatbuffers/rust/flexbuffers/src/reader/mod.rs:29:26
-   |
-29 | pub use map::{MapReader, MapReaderIndexer};
-   |                          ^^^^^^^^^^^^^^^^
-   |
-   = note: `#[warn(unused_imports)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/lib.rs:32:17
-   |
-32 | #![cfg_attr(all(nightly, not(feature = "std")), feature(error_in_core))]
-   |                 ^^^^^^^
-   |
-   = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-   = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:13:11
-   |
-13 | #[cfg(all(nightly, not(feature = "std")))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:89:11
-   |
-89 | #[cfg(any(nightly, feature = "std"))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: `flatbuffers` (lib) generated 3 warnings
-warning: `flexbuffers` (lib) generated 3 warnings (run `cargo fix --lib -p flexbuffers` to apply 1 suggestion)
-   Compiling rust_usage_test v0.1.0 (/Users/cameron/Code/flatbuffers/tests/rust_usage_test)
-    Finished `bench` profile [optimized] target(s) in 1.85s
+    Finished `bench` profile [optimized] target(s) in 0.04s
      Running unittests bin/flatbuffers_alloc_check.rs (target/release/deps/flatbuffers_alloc_check-555bd6d5a8449aa5)
 
 running 0 tests
@@ -1127,20 +505,20 @@ test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; fini
 running 17 tests
 test create_byte_vector_100_naive       ... bench:           5 ns/iter (+/- 0) = 20000 MB/s
 test create_byte_vector_100_optimal     ... bench:           5 ns/iter (+/- 0) = 20000 MB/s
-test create_canonical_buffer_then_reset ... bench:         308 ns/iter (+/- 7) = 2389 MB/s
-test create_many_tables                 ... bench:      89,835 ns/iter (+/- 1,503) = 364 MB/s
-test create_string_10                   ... bench:           7 ns/iter (+/- 1) = 1428 MB/s
-test create_string_100                  ... bench:          10 ns/iter (+/- 0) = 9900 MB/s
-test hundred_maps                       ... bench:      19,640 ns/iter (+/- 152) = 465 MB/s
-test hundred_maps_pooled                ... bench:      19,619 ns/iter (+/- 262) = 465 MB/s
-test push_vec_u64_to_map                ... bench:       8,129 ns/iter (+/- 129) = 1520 MB/s
-test push_vec_u64_to_map_direct         ... bench:       4,399 ns/iter (+/- 65) = 2810 MB/s
-test push_vec_u64_to_map_direct_reused  ... bench:       3,961 ns/iter (+/- 1,019) = 3120 MB/s
-test push_vec_u64_to_map_reused         ... bench:       7,257 ns/iter (+/- 71) = 1703 MB/s
-test push_vec_with_indirect             ... bench:       6,037 ns/iter (+/- 30) = 511 MB/s
-test push_vec_without_indirect          ... bench:       6,049 ns/iter (+/- 129) = 1527 MB/s
-test read_monsters                      ... bench:      32,088 ns/iter (+/- 267) = 546 MB/s
-test serialize_monsters                 ... bench:      51,882 ns/iter (+/- 7,056) = 338 MB/s
+test create_canonical_buffer_then_reset ... bench:         309 ns/iter (+/- 5) = 2381 MB/s
+test create_many_tables                 ... bench:      86,035 ns/iter (+/- 756) = 380 MB/s
+test create_string_10                   ... bench:           7 ns/iter (+/- 0) = 1428 MB/s
+test create_string_100                  ... bench:           9 ns/iter (+/- 0) = 11000 MB/s
+test hundred_maps                       ... bench:      19,676 ns/iter (+/- 127) = 464 MB/s
+test hundred_maps_pooled                ... bench:      19,367 ns/iter (+/- 256) = 471 MB/s
+test push_vec_u64_to_map                ... bench:       8,102 ns/iter (+/- 176) = 1525 MB/s
+test push_vec_u64_to_map_direct         ... bench:       4,369 ns/iter (+/- 39) = 2829 MB/s
+test push_vec_u64_to_map_direct_reused  ... bench:       3,880 ns/iter (+/- 53) = 3186 MB/s
+test push_vec_u64_to_map_reused         ... bench:       7,251 ns/iter (+/- 102) = 1704 MB/s
+test push_vec_with_indirect             ... bench:       6,046 ns/iter (+/- 88) = 511 MB/s
+test push_vec_without_indirect          ... bench:       6,108 ns/iter (+/- 85) = 1512 MB/s
+test read_monsters                      ... bench:      32,256 ns/iter (+/- 535) = 543 MB/s
+test serialize_monsters                 ... bench:      49,816 ns/iter (+/- 276) = 352 MB/s
 test traverse_canonical_buffer          ... bench:          39 ns/iter (+/- 0) = 18871 MB/s
 
 test result: ok. 0 passed; 0 failed; 0 ignored; 17 measured
@@ -1157,51 +535,7 @@ running 0 tests
 
 test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
 
-   Compiling flatbuffers v25.2.10 (/Users/cameron/Code/flatbuffers/rust/flatbuffers)
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/lib.rs:32:17
-   |
-32 | #![cfg_attr(all(nightly, not(feature = "std")), feature(error_in_core))]
-   |                 ^^^^^^^
-   |
-   = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-   = note: `#[warn(unexpected_cfgs)]` on by default
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:13:11
-   |
-13 | #[cfg(all(nightly, not(feature = "std")))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: unexpected `cfg` condition name: `nightly`
-  --> /Users/cameron/Code/flatbuffers/rust/flatbuffers/src/verifier.rs:89:11
-   |
-89 | #[cfg(any(nightly, feature = "std"))]
-   |           ^^^^^^^
-   |
-   = help: consider using a Cargo feature instead
-   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
-            [lints.rust]
-            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] }
-   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(nightly)");` to the top of the `build.rs`
-   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
-
-warning: `flatbuffers` (lib) generated 3 warnings
-   Compiling outdir v0.1.0 (/Users/cameron/Code/flatbuffers/tests/rust_usage_test/outdir)
-    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s
+    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.00s
      Running unittests src/main.rs (target/debug/deps/outdir-d8f718fe93789b0b)
 
 running 1 test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ codegen Involving generating code from schema rust
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant