-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
csmulhern
wants to merge
7
commits into
google:master
Choose a base branch
from
csmulhern:style
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Here's a diff of the output of running 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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR includes the following fixes:
The
serialize_human_readable
anddeserialize_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, thecargo: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.
use core::mem
were included at the top of the file, so that the shorthandmem
could be used to reference thestd::mem
module in the generated code. However, not all schemas / configurations would generate code referencingcore::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:
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:
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 namedflatbuffers
would not cause ambiguity around ifflatbuffers::Vec
references the module or theflatbuffers
crate.