html-to-markdown 2.23.4 → 2.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +7 -7
- data/README.md +9 -7
- data/ext/html-to-markdown-rb/native/Cargo.lock +21 -21
- data/ext/html-to-markdown-rb/native/Cargo.toml +1 -3
- data/lib/html_to_markdown/cli_proxy.rb +5 -2
- data/lib/html_to_markdown/version.rb +1 -1
- data/rust-vendor/cc/.cargo-checksum.json +1 -1
- data/rust-vendor/cc/.cargo_vcs_info.json +1 -1
- data/rust-vendor/cc/CHANGELOG.md +7 -0
- data/rust-vendor/cc/Cargo.lock +1 -1
- data/rust-vendor/cc/Cargo.toml +1 -1
- data/rust-vendor/cc/Cargo.toml.orig +1 -1
- data/rust-vendor/cc/src/target/generated.rs +1 -0
- data/rust-vendor/cc/src/target/parser.rs +4 -0
- data/rust-vendor/html-to-markdown-rs/README.md +1 -1
- data/rust-vendor/html-to-markdown-rs/src/convert_api.rs +90 -15
- data/rust-vendor/html-to-markdown-rs/src/converter/block/preformatted.rs +15 -4
- data/rust-vendor/html-to-markdown-rs/src/converter/handlers/graphic.rs +5 -3
- data/rust-vendor/html-to-markdown-rs/src/converter/media/svg.rs +5 -1
- data/rust-vendor/html-to-markdown-rs/src/converter/text/processing.rs +15 -8
- data/rust-vendor/html-to-markdown-rs/src/converter/utility/preprocessing.rs +43 -18
- data/rust-vendor/html-to-markdown-rs/src/lib.rs +6 -6
- data/rust-vendor/html-to-markdown-rs/src/validation.rs +68 -29
- data/rust-vendor/html-to-markdown-rs/tests/issue_190_regressions.rs +121 -0
- data/rust-vendor/html-to-markdown-rs/tests/skip_images_test.rs +21 -0
- data/rust-vendor/proc-macro2/.cargo-checksum.json +1 -1
- data/rust-vendor/proc-macro2/.cargo_vcs_info.json +1 -1
- data/rust-vendor/proc-macro2/Cargo.lock +14 -89
- data/rust-vendor/proc-macro2/Cargo.toml +1 -1
- data/rust-vendor/proc-macro2/Cargo.toml.orig +1 -1
- data/rust-vendor/proc-macro2/src/fallback.rs +37 -23
- data/rust-vendor/proc-macro2/src/lib.rs +1 -1
- data/rust-vendor/quote/.cargo-checksum.json +1 -1
- data/rust-vendor/quote/.cargo_vcs_info.json +1 -1
- data/rust-vendor/quote/.github/workflows/ci.yml +1 -1
- data/rust-vendor/quote/Cargo.lock +17 -17
- data/rust-vendor/quote/Cargo.toml +1 -1
- data/rust-vendor/quote/Cargo.toml.orig +1 -1
- data/rust-vendor/quote/src/format.rs +2 -2
- data/rust-vendor/quote/src/lib.rs +1 -1
- data/rust-vendor/quote/src/runtime.rs +2 -2
- data/rust-vendor/quote/tests/test.rs +6 -0
- data/rust-vendor/quote/tests/ui/does-not-have-iter-interpolated-dup.stderr +2 -2
- data/rust-vendor/quote/tests/ui/does-not-have-iter-interpolated.stderr +2 -2
- data/rust-vendor/quote/tests/ui/does-not-have-iter-separated.stderr +2 -2
- data/rust-vendor/quote/tests/ui/does-not-have-iter.stderr +2 -2
- data/rust-vendor/quote/tests/ui/not-repeatable.stderr +8 -8
- data/rust-vendor/siphasher/.cargo-checksum.json +1 -1
- data/rust-vendor/siphasher/.cargo_vcs_info.json +1 -1
- data/rust-vendor/siphasher/.github/workflows/issues.yml +17 -0
- data/rust-vendor/siphasher/COPYING +1 -1
- data/rust-vendor/siphasher/Cargo.lock +89 -0
- data/rust-vendor/siphasher/Cargo.toml +23 -13
- data/rust-vendor/siphasher/Cargo.toml.orig +1 -1
- data/rust-vendor/siphasher/src/common.rs +65 -0
- data/rust-vendor/siphasher/src/lib.rs +1 -1
- data/rust-vendor/siphasher/src/sip.rs +2 -68
- data/rust-vendor/siphasher/src/sip128.rs +15 -74
- data/rust-vendor/siphasher/src/tests.rs +1 -1
- data/rust-vendor/siphasher/src/tests128.rs +1 -1
- data/rust-vendor/uuid/.cargo-checksum.json +1 -1
- data/rust-vendor/uuid/.cargo_vcs_info.json +1 -1
- data/rust-vendor/uuid/Cargo.lock +125 -96
- data/rust-vendor/uuid/Cargo.toml +4 -11
- data/rust-vendor/uuid/Cargo.toml.orig +5 -14
- data/rust-vendor/uuid/README.md +3 -3
- data/rust-vendor/uuid/src/builder.rs +2 -1
- data/rust-vendor/uuid/src/external/serde_support.rs +209 -142
- data/rust-vendor/uuid/src/lib.rs +9 -11
- data/rust-vendor/uuid/src/macros.rs +9 -54
- data/rust-vendor/uuid/src/non_nil.rs +49 -2
- data/rust-vendor/web_atoms/.cargo-checksum.json +1 -1
- data/rust-vendor/web_atoms/.cargo_vcs_info.json +1 -1
- data/rust-vendor/web_atoms/Cargo.lock +1 -1
- data/rust-vendor/web_atoms/Cargo.toml +1 -1
- data/rust-vendor/web_atoms/Cargo.toml.orig +1 -1
- data/rust-vendor/web_atoms/local_names.txt +3 -0
- data/rust-vendor/zerocopy/.cargo-checksum.json +1 -1
- data/rust-vendor/zerocopy/.cargo_vcs_info.json +1 -1
- data/rust-vendor/zerocopy/Cargo.lock +5 -9
- data/rust-vendor/zerocopy/Cargo.toml +10 -18
- data/rust-vendor/zerocopy/Cargo.toml.orig +6 -14
- data/rust-vendor/zerocopy/Cargo.toml.std +58 -0
- data/rust-vendor/zerocopy/agent_docs/ui_tests.md +5 -5
- data/rust-vendor/zerocopy/cargo.sh +1 -1
- data/rust-vendor/zerocopy/ci/check_fmt.sh +1 -1
- data/rust-vendor/zerocopy/ci/check_readme.sh +1 -1
- data/rust-vendor/zerocopy/ci/check_stale_stderr.sh +44 -0
- data/rust-vendor/zerocopy/githooks/pre-push +2 -0
- data/rust-vendor/zerocopy/src/byte_slice.rs +1 -1
- data/rust-vendor/zerocopy/src/byteorder.rs +0 -1
- data/rust-vendor/zerocopy/src/impls.rs +334 -118
- data/rust-vendor/zerocopy/src/layout.rs +9 -0
- data/rust-vendor/zerocopy/src/lib.rs +163 -74
- data/rust-vendor/zerocopy/src/macros.rs +4 -8
- data/rust-vendor/zerocopy/src/pointer/inner.rs +4 -4
- data/rust-vendor/zerocopy/src/pointer/invariant.rs +22 -5
- data/rust-vendor/zerocopy/src/pointer/mod.rs +155 -18
- data/rust-vendor/zerocopy/src/pointer/ptr.rs +133 -182
- data/rust-vendor/zerocopy/src/pointer/transmute.rs +99 -106
- data/rust-vendor/zerocopy/src/ref.rs +4 -4
- data/rust-vendor/zerocopy/src/util/macro_util.rs +73 -127
- data/rust-vendor/zerocopy/src/util/macros.rs +61 -150
- data/rust-vendor/zerocopy/src/wrappers.rs +249 -3
- data/rust-vendor/zerocopy/tests/include.rs +67 -0
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-bytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-bytes.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-zeros.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-zeros.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-immutable.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-immutable.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-into-bytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-into-bytes.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-issue-1296.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-issue-1296.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-known-layout.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-known-layout.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-try-from-bytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-try-from-bytes.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-unaligned.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-unaligned.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-msrv/include_value_not_from_bytes.rs +3 -5
- data/rust-vendor/zerocopy/tests/ui-msrv/include_value_not_from_bytes.stderr +10 -10
- data/rust-vendor/zerocopy/tests/ui-msrv/include_value_wrong_size.rs +1 -4
- data/rust-vendor/zerocopy/tests/ui-msrv/include_value_wrong_size.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/invalid-impls/invalid-impls.rs +0 -1
- data/rust-vendor/zerocopy/tests/ui-msrv/invalid-impls/invalid-impls.stderr +35 -35
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-dst-not-frombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-dst-not-frombytes.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-const.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-const.stderr +10 -10
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-a-reference.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-frombytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-frombytes.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-intobytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-intobytes.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-unsized.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-dst-not-references.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-dst-not-references.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-immutable.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-immutable.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-a-reference.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-frombytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-frombytes.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-intobytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-intobytes.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-unsized.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ptr-to-usize.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ptr-to-usize.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-mutable.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-mutable.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-a-reference.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-frombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-frombytes.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-nocell.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-nocell.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-unsized.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-dst-not-references.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-dst-not-references.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-a-reference.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-intobytes.stderr +12 -12
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-nocell.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-nocell.stderr +12 -12
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-unsized.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-decrease.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase-allow-shrink.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase-allow-shrink.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-src-not-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-src-not-intobytes.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-dst-not-tryfrombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-dst-not-tryfrombytes.stderr +12 -12
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-decrease.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-increase.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-src-not-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-src-not-intobytes.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-alignment-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-alignment-increase.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-dst-not-tryfrombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-dst-not-tryfrombytes.stderr +16 -16
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-decrease.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-increase.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-frombytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-frombytes.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-intobytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-intobytes.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-alignment-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-alignment-increase.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-mutable.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-mutable.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-not-immutable-tryfrombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +16 -16
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-decrease.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-increase.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-src-not-immutable-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-src-not-immutable-intobytes.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-bytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-bytes.stderr +15 -15
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-zeros.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-zeros.stderr +12 -12
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-immutable.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-immutable.stderr +13 -13
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-into-bytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-into-bytes.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-issue-1296.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-issue-1296.stderr +16 -16
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-known-layout.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-known-layout.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-try-from-bytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-try-from-bytes.stderr +15 -15
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-unaligned.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-unaligned.stderr +5 -5
- data/rust-vendor/zerocopy/tests/ui-nightly/include_value_not_from_bytes.rs +3 -5
- data/rust-vendor/zerocopy/tests/ui-nightly/include_value_not_from_bytes.stderr +21 -21
- data/rust-vendor/zerocopy/tests/ui-nightly/include_value_wrong_size.rs +1 -4
- data/rust-vendor/zerocopy/tests/ui-nightly/include_value_wrong_size.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-nightly/invalid-impls/invalid-impls.rs +0 -1
- data/rust-vendor/zerocopy/tests/ui-nightly/invalid-impls/invalid-impls.stderr +35 -51
- data/rust-vendor/zerocopy/tests/ui-nightly/ptr-is-invariant-over-v.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-dst-not-frombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-dst-not-frombytes.stderr +15 -15
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-const.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-const.stderr +7 -7
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-a-reference.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-frombytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-frombytes.stderr +12 -12
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-intobytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-intobytes.stderr +5 -5
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-unsized.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-dst-not-references.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-dst-not-references.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-immutable.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-immutable.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-a-reference.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-frombytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-frombytes.stderr +12 -12
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-intobytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-intobytes.stderr +5 -5
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-unsized.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ptr-to-usize.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ptr-to-usize.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-mutable.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-mutable.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-a-reference.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-frombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-frombytes.stderr +16 -16
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-nocell.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-nocell.stderr +14 -14
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-unsized.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-dst-not-references.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-dst-not-references.stderr +9 -9
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-a-reference.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-intobytes.stderr +18 -18
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-nocell.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-nocell.stderr +28 -28
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-unsized.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-decrease.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase-allow-shrink.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase-allow-shrink.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-src-not-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-src-not-intobytes.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-dst-not-tryfrombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-dst-not-tryfrombytes.stderr +43 -43
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-decrease.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-increase.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-src-not-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-src-not-intobytes.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-alignment-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-alignment-increase.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-dst-not-tryfrombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-dst-not-tryfrombytes.stderr +51 -51
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-decrease.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-increase.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-frombytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-frombytes.stderr +29 -29
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-intobytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-intobytes.stderr +22 -22
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-alignment-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-alignment-increase.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-mutable.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-mutable.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-not-immutable-tryfrombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +56 -56
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-decrease.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-increase.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-src-not-immutable-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-src-not-immutable-intobytes.stderr +21 -21
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-bytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-bytes.stderr +15 -15
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-zeros.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-zeros.stderr +12 -12
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-immutable.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-immutable.stderr +13 -13
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-into-bytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-into-bytes.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-issue-1296.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-issue-1296.stderr +16 -16
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-known-layout.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-known-layout.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-try-from-bytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-try-from-bytes.stderr +15 -15
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-unaligned.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-unaligned.stderr +5 -5
- data/rust-vendor/zerocopy/tests/ui-stable/include_value_not_from_bytes.rs +3 -5
- data/rust-vendor/zerocopy/tests/ui-stable/include_value_not_from_bytes.stderr +21 -21
- data/rust-vendor/zerocopy/tests/ui-stable/include_value_wrong_size.rs +1 -4
- data/rust-vendor/zerocopy/tests/ui-stable/include_value_wrong_size.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-stable/invalid-impls/invalid-impls.rs +0 -1
- data/rust-vendor/zerocopy/tests/ui-stable/invalid-impls/invalid-impls.stderr +37 -37
- data/rust-vendor/zerocopy/tests/ui-stable/ptr-is-invariant-over-v.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-dst-not-frombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-dst-not-frombytes.stderr +15 -15
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-const.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-const.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-a-reference.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-frombytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-frombytes.stderr +11 -11
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-intobytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-intobytes.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-unsized.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-dst-not-references.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-dst-not-references.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-immutable.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-immutable.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-a-reference.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-frombytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-frombytes.stderr +11 -11
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-intobytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-intobytes.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-unsized.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ptr-to-usize.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ptr-to-usize.stderr +9 -5
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-mutable.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-mutable.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-a-reference.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-frombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-frombytes.stderr +16 -16
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-nocell.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-nocell.stderr +14 -14
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-unsized.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-dst-not-references.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-dst-not-references.stderr +9 -9
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-a-reference.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-a-reference.stderr +3 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-intobytes.stderr +18 -18
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-nocell.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-nocell.stderr +28 -28
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-unsized.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-unsized.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-decrease.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase-allow-shrink.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase-allow-shrink.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-src-not-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-src-not-intobytes.stderr +8 -8
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-dst-not-tryfrombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-dst-not-tryfrombytes.stderr +42 -42
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-decrease.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-increase.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-src-not-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-src-not-intobytes.stderr +7 -7
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-alignment-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-alignment-increase.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-dst-not-tryfrombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-dst-not-tryfrombytes.stderr +49 -49
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-decrease.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-increase.stderr +4 -4
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-frombytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-frombytes.stderr +26 -26
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-intobytes.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-intobytes.stderr +19 -19
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-alignment-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-alignment-increase.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-mutable.rs +0 -2
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-mutable.stderr +6 -6
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-not-immutable-tryfrombytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +54 -54
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-decrease.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-decrease.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-increase.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-increase.stderr +2 -2
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.rs +1 -3
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.stderr +19 -19
- data/rust-vendor/zerocopy-derive/.cargo-checksum.json +1 -1
- data/rust-vendor/zerocopy-derive/.cargo_vcs_info.json +1 -1
- data/rust-vendor/zerocopy-derive/Cargo.lock +3 -11
- data/rust-vendor/zerocopy-derive/Cargo.toml +13 -11
- data/rust-vendor/zerocopy-derive/Cargo.toml.orig +7 -10
- data/rust-vendor/zerocopy-derive/src/derive/from_bytes.rs +188 -0
- data/rust-vendor/zerocopy-derive/src/derive/into_bytes.rs +158 -0
- data/rust-vendor/zerocopy-derive/src/derive/known_layout.rs +348 -0
- data/rust-vendor/zerocopy-derive/src/derive/mod.rs +130 -0
- data/rust-vendor/zerocopy-derive/src/derive/try_from_bytes.rs +729 -0
- data/rust-vendor/zerocopy-derive/src/derive/unaligned.rs +78 -0
- data/rust-vendor/zerocopy-derive/src/lib.rs +31 -1893
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/eq.expected.rs +17 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_bytes_enum.expected.rs +64 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_bytes_struct.expected.rs +64 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_bytes_union.expected.rs +144 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_zeros.expected.rs +39 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/hash.expected.rs +24 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/immutable.expected.rs +17 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.expected.rs +17 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_struct_basic.expected.rs +25 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_struct_empty.expected.rs +17 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_struct_trailing.expected.rs +25 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_struct_trailing_generic.expected.rs +21 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/known_layout_repr_c_struct.expected.rs +135 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/known_layout_struct.expected.rs +34 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/split_at_repr_c.expected.rs +22 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/split_at_repr_transparent.expected.rs +22 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes.expected.rs +22 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_enum_1.expected.rs +2802 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_enum_2.expected.rs +2802 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_enum_3.expected.rs +2802 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_trivial_is_bit_valid_enum.expected.rs +22 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/expected/unaligned.expected.rs +17 -0
- data/rust-vendor/zerocopy-derive/src/output_tests/mod.rs +960 -0
- data/rust-vendor/zerocopy-derive/src/util.rs +757 -0
- data/rust-vendor/zerocopy-derive/tests/deprecated.rs +6 -0
- data/rust-vendor/zerocopy-derive/tests/enum_from_zeros.rs +9 -0
- data/rust-vendor/zerocopy-derive/tests/enum_known_layout.rs +4 -0
- data/rust-vendor/zerocopy-derive/tests/enum_no_cell.rs +4 -0
- data/rust-vendor/zerocopy-derive/tests/enum_to_bytes.rs +14 -0
- data/rust-vendor/zerocopy-derive/tests/enum_try_from_bytes.rs +37 -15
- data/rust-vendor/zerocopy-derive/tests/enum_unaligned.rs +4 -0
- data/rust-vendor/zerocopy-derive/tests/eq.rs +1 -0
- data/rust-vendor/zerocopy-derive/tests/hash.rs +1 -0
- data/rust-vendor/zerocopy-derive/tests/hygiene.rs +3 -1
- data/rust-vendor/zerocopy-derive/tests/include.rs +26 -4
- data/rust-vendor/zerocopy-derive/tests/issue_2117.rs +1 -0
- data/rust-vendor/zerocopy-derive/tests/issue_2835.rs +2 -1
- data/rust-vendor/zerocopy-derive/tests/issue_2880.rs +292 -0
- data/rust-vendor/zerocopy-derive/tests/issue_2915.rs +78 -0
- data/rust-vendor/zerocopy-derive/tests/paths_and_modules.rs +3 -0
- data/rust-vendor/zerocopy-derive/tests/priv_in_pub.rs +2 -0
- data/rust-vendor/zerocopy-derive/tests/struct_from_bytes.rs +6 -0
- data/rust-vendor/zerocopy-derive/tests/struct_from_zeros.rs +6 -0
- data/rust-vendor/zerocopy-derive/tests/struct_known_layout.rs +9 -0
- data/rust-vendor/zerocopy-derive/tests/struct_no_cell.rs +8 -0
- data/rust-vendor/zerocopy-derive/tests/struct_to_bytes.rs +17 -0
- data/rust-vendor/zerocopy-derive/tests/struct_try_from_bytes.rs +29 -65
- data/rust-vendor/zerocopy-derive/tests/struct_unaligned.rs +7 -0
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/derive_transparent.rs +3 -2
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/derive_transparent.stderr +32 -32
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum.rs +48 -1
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum.stderr +129 -126
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum_from_bytes_u8_too_few.rs +2 -1
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum_from_bytes_u8_too_few.stderr +6 -6
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/late_compile_pass.rs +9 -2
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/late_compile_pass.stderr +37 -37
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/mid_compile_pass.rs +6 -2
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/mid_compile_pass.stderr +26 -26
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/msrv_specific.rs +3 -2
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/msrv_specific.stderr +7 -7
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/privacy.rs +66 -29
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/privacy.stderr +78 -78
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/struct.rs +34 -2
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/struct.stderr +79 -79
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/union.rs +12 -1
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/union.stderr +29 -29
- data/rust-vendor/zerocopy-derive/tests/ui-msrv/union_into_bytes_cfg/union_into_bytes_cfg.rs +3 -2
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/absence_of_deprecated_warning.rs +3 -2
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/absence_of_deprecated_warning.stderr +2 -2
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/derive_transparent.rs +3 -2
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/derive_transparent.stderr +57 -57
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum.rs +48 -1
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum.stderr +200 -192
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum_from_bytes_u8_too_few.rs +2 -1
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum_from_bytes_u8_too_few.stderr +6 -6
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/late_compile_pass.rs +9 -2
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/late_compile_pass.stderr +105 -105
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/mid_compile_pass.rs +6 -2
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/mid_compile_pass.stderr +29 -29
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/privacy.rs +66 -29
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/privacy.stderr +15 -15
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/struct.rs +34 -2
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/struct.stderr +130 -129
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/union.rs +12 -1
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/union.stderr +42 -42
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/union_into_bytes_cfg/union_into_bytes_cfg.rs +3 -2
- data/rust-vendor/zerocopy-derive/tests/ui-stable/derive_transparent.rs +3 -2
- data/rust-vendor/zerocopy-derive/tests/ui-stable/derive_transparent.stderr +57 -57
- data/rust-vendor/zerocopy-derive/tests/ui-stable/enum.rs +48 -1
- data/rust-vendor/zerocopy-derive/tests/ui-stable/enum.stderr +201 -186
- data/rust-vendor/zerocopy-derive/tests/ui-stable/enum_from_bytes_u8_too_few.rs +2 -1
- data/rust-vendor/zerocopy-derive/tests/ui-stable/enum_from_bytes_u8_too_few.stderr +6 -6
- data/rust-vendor/zerocopy-derive/tests/ui-stable/late_compile_pass.rs +9 -2
- data/rust-vendor/zerocopy-derive/tests/ui-stable/late_compile_pass.stderr +105 -105
- data/rust-vendor/zerocopy-derive/tests/ui-stable/mid_compile_pass.rs +6 -2
- data/rust-vendor/zerocopy-derive/tests/ui-stable/mid_compile_pass.stderr +29 -29
- data/rust-vendor/zerocopy-derive/tests/ui-stable/privacy.rs +66 -29
- data/rust-vendor/zerocopy-derive/tests/ui-stable/privacy.stderr +15 -15
- data/rust-vendor/zerocopy-derive/tests/ui-stable/struct.rs +34 -2
- data/rust-vendor/zerocopy-derive/tests/ui-stable/struct.stderr +158 -129
- data/rust-vendor/zerocopy-derive/tests/ui-stable/union.rs +12 -1
- data/rust-vendor/zerocopy-derive/tests/ui-stable/union.stderr +48 -44
- data/rust-vendor/zerocopy-derive/tests/ui-stable/union_into_bytes_cfg/union_into_bytes_cfg.rs +3 -2
- data/rust-vendor/zerocopy-derive/tests/union_from_bytes.rs +15 -0
- data/rust-vendor/zerocopy-derive/tests/union_from_zeros.rs +14 -0
- data/rust-vendor/zerocopy-derive/tests/union_known_layout.rs +5 -0
- data/rust-vendor/zerocopy-derive/tests/union_no_cell.rs +5 -0
- data/rust-vendor/zerocopy-derive/tests/union_to_bytes.rs +5 -0
- data/rust-vendor/zerocopy-derive/tests/union_try_from_bytes.rs +34 -74
- data/rust-vendor/zerocopy-derive/tests/union_unaligned.rs +4 -1
- data/rust-vendor/zerocopy-derive/tests/unsafe_cell.rs +3 -0
- data/rust-vendor/zmij/.cargo-checksum.json +1 -1
- data/rust-vendor/zmij/.cargo_vcs_info.json +1 -1
- data/rust-vendor/zmij/Cargo.lock +10 -10
- data/rust-vendor/zmij/Cargo.toml +1 -1
- data/rust-vendor/zmij/Cargo.toml.orig +1 -1
- data/rust-vendor/zmij/README.md +1 -1
- data/rust-vendor/zmij/src/lib.rs +132 -158
- data/rust-vendor/zune-jpeg/.cargo-checksum.json +1 -1
- data/rust-vendor/zune-jpeg/.cargo_vcs_info.json +1 -1
- data/rust-vendor/zune-jpeg/Cargo.lock +1 -1
- data/rust-vendor/zune-jpeg/Cargo.toml +1 -1
- data/rust-vendor/zune-jpeg/Cargo.toml.orig +1 -1
- data/rust-vendor/zune-jpeg/src/bitstream.rs +1 -1
- data/rust-vendor/zune-jpeg/src/components.rs +2 -1
- data/rust-vendor/zune-jpeg/src/decoder.rs +3 -23
- data/rust-vendor/zune-jpeg/src/headers.rs +19 -1
- data/rust-vendor/zune-jpeg/src/lib.rs +1 -0
- data/rust-vendor/zune-jpeg/src/mcu.rs +6 -6
- data/rust-vendor/zune-jpeg/src/mcu_prog.rs +22 -34
- data/rust-vendor/zune-jpeg/src/upsampler/avx2.rs +3 -1
- data/rust-vendor/zune-jpeg/src/upsampler/neon.rs +13 -23
- data/rust-vendor/zune-jpeg/src/upsampler/portable_simd.rs +4 -1
- data/rust-vendor/zune-jpeg/src/upsampler/scalar.rs +4 -1
- metadata +41 -8
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-dst-unsized.stderr +0 -183
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-dst-unsized.stderr +0 -183
- data/rust-vendor/zerocopy-derive/src/enum.rs +0 -456
- data/rust-vendor/zerocopy-derive/src/ext.rs +0 -123
- data/rust-vendor/zerocopy-derive/src/output_tests.rs +0 -5608
- data/rust-vendor/zerocopy-derive/tests/crate_path.rs +0 -189
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
// This file may not be copied, modified, or distributed except according to
|
|
7
7
|
// those terms.
|
|
8
8
|
|
|
9
|
-
include!("
|
|
10
|
-
|
|
11
|
-
extern crate zerocopy;
|
|
9
|
+
include!("../include.rs");
|
|
12
10
|
|
|
13
11
|
use util::AU16;
|
|
14
12
|
use zerocopy::try_transmute_ref;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
|
|
2
|
-
--> tests/ui-stable/try_transmute_ref-size-decrease.rs:
|
|
2
|
+
--> tests/ui-stable/try_transmute_ref-size-decrease.rs:17:42
|
|
3
3
|
|
|
|
4
|
-
|
|
4
|
+
17 | let _decrease_size: Result<&u8, _> = try_transmute_ref!(&AU16(0));
|
|
5
5
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
6
6
|
|
|
|
7
7
|
= note: source type: `AU16` (16 bits)
|
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
// This file may not be copied, modified, or distributed except according to
|
|
7
7
|
// those terms.
|
|
8
8
|
|
|
9
|
-
include!("
|
|
10
|
-
|
|
11
|
-
extern crate zerocopy;
|
|
9
|
+
include!("../include.rs");
|
|
12
10
|
|
|
13
11
|
use util::AU16;
|
|
14
12
|
use zerocopy::try_transmute_ref;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
|
|
2
|
-
--> tests/ui-stable/try_transmute_ref-size-increase.rs:
|
|
2
|
+
--> tests/ui-stable/try_transmute_ref-size-increase.rs:17:44
|
|
3
3
|
|
|
|
4
|
-
|
|
4
|
+
17 | let _increase_size: Result<&AU16, _> = try_transmute_ref!(&[0u8; 2]);
|
|
5
5
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
6
6
|
|
|
|
7
7
|
= note: source type: `AlignOf<[u8; 2]>` (8 bits)
|
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
// This file may not be copied, modified, or distributed except according to
|
|
7
7
|
// those terms.
|
|
8
8
|
|
|
9
|
-
include!("
|
|
10
|
-
|
|
11
|
-
extern crate zerocopy;
|
|
9
|
+
include!("../include.rs");
|
|
12
10
|
|
|
13
11
|
use util::{NotZerocopy, AU16};
|
|
14
12
|
use zerocopy::try_transmute_ref;
|
data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.stderr
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
error[E0277]: the trait bound `NotZerocopy<AU16>:
|
|
2
|
-
--> tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.rs:
|
|
1
|
+
error[E0277]: the trait bound `NotZerocopy<AU16>: IntoBytes` is not satisfied
|
|
2
|
+
--> tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.rs:17:48
|
|
3
3
|
|
|
|
4
|
-
|
|
4
|
+
17 | let src_not_into_bytes: Result<&AU16, _> = try_transmute_ref!(&NotZerocopy(AU16(0)));
|
|
5
5
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
|
|
6
6
|
|
|
|
7
|
-
help: the trait `
|
|
8
|
-
--> tests/ui-stable
|
|
7
|
+
help: the trait `IntoBytes` is not implemented for `NotZerocopy<AU16>`
|
|
8
|
+
--> tests/ui-stable/../include.rs
|
|
9
9
|
|
|
|
10
|
-
|
|
10
|
+
15 | pub struct NotZerocopy<T = ()>(pub T);
|
|
11
11
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
12
12
|
= note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy<AU16>`
|
|
13
|
-
= help: the following other types implement trait `
|
|
13
|
+
= help: the following other types implement trait `IntoBytes`:
|
|
14
14
|
()
|
|
15
15
|
AU16
|
|
16
16
|
AtomicBool
|
|
@@ -30,27 +30,27 @@ note: required by a bound in `try_transmute_ref`
|
|
|
30
30
|
| ^^^^^^^^^ required by this bound in `try_transmute_ref`
|
|
31
31
|
= note: this error originates in the macro `try_transmute_ref` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
32
32
|
|
|
33
|
-
error[E0277]: the trait bound `NotZerocopy<AU16>:
|
|
34
|
-
--> tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.rs:
|
|
33
|
+
error[E0277]: the trait bound `NotZerocopy<AU16>: Immutable` is not satisfied
|
|
34
|
+
--> tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.rs:17:48
|
|
35
35
|
|
|
|
36
|
-
|
|
36
|
+
17 | let src_not_into_bytes: Result<&AU16, _> = try_transmute_ref!(&NotZerocopy(AU16(0)));
|
|
37
37
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
|
|
38
38
|
|
|
|
39
|
-
help: the trait `
|
|
40
|
-
--> tests/ui-stable
|
|
39
|
+
help: the trait `Immutable` is not implemented for `NotZerocopy<AU16>`
|
|
40
|
+
--> tests/ui-stable/../include.rs
|
|
41
41
|
|
|
|
42
|
-
|
|
42
|
+
15 | pub struct NotZerocopy<T = ()>(pub T);
|
|
43
43
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
44
44
|
= note: Consider adding `#[derive(Immutable)]` to `NotZerocopy<AU16>`
|
|
45
|
-
= help: the following other types implement trait `
|
|
45
|
+
= help: the following other types implement trait `Immutable`:
|
|
46
46
|
&T
|
|
47
47
|
&mut T
|
|
48
48
|
()
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
(A, B)
|
|
50
|
+
(A, B, C)
|
|
51
|
+
(A, B, C, D)
|
|
52
|
+
(A, B, C, D, E)
|
|
53
|
+
(A, B, C, D, E, F)
|
|
54
54
|
and $N others
|
|
55
55
|
note: required by a bound in `try_transmute_ref`
|
|
56
56
|
--> src/util/macro_util.rs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"files":{".cargo_vcs_info.json":"6bc58232f363688147246d69cc2ccb549f10eb9135ae3465eb2226ae3a26e08f","Cargo.lock":"1c31aea1dc310725b56fdf5dc0f1b487daa5314c4028f8d4a6279eb14a4155e4","Cargo.toml":"e0068ac5216290ef2994c49aa19e38a82a7b4b436667a8d08db3f88eee1a7eaf","Cargo.toml.orig":"f0ec9bc1266a6f59b09a62985c9cc3a77a22f332f58ea761ce0cc70dcf703ee3","LICENSE-APACHE":"9d185ac6703c4b0453974c0d85e9eee43e6941009296bb1f5eb0b54e2329e9f3","LICENSE-BSD":"83c1763356e822adde0a2cae748d938a73fdc263849ccff6b27776dff213bd32","LICENSE-MIT":"1a2f5c12ddc934d58956aa5dbdd3255fe55fd957633ab7d0d39e4f0daa73f7df","src/enum.rs":"f08cedf1957df55fe4002189c3559438a9d3eabd7d354b934aca536d8b871d1a","src/ext.rs":"334c662610a703586c300e085b55bbc25103ccfd66fff62a69f98b405d2c122a","src/lib.rs":"fc334798ca7506bd1449b69e23de696417e0ecbdf77ea98b23b20b87e0dc7449","src/output_tests.rs":"e87a1f2d09e2097eb6bb70703ab6d003fad4fdd812fc23c71f4c603e1e86091f","src/repr.rs":"2766afad6cf7bd24ee67ee02452e638dac474e8d00edb51dff54f9e9691d2526","tests/crate_path.rs":"9083a9ed020b254e3ae632207ec6f72dd3eede94081f76f0378bdb62308398df","tests/deprecated.rs":"708cf36f73aaef10250af6be1aef68b4316f926e63d618caa981ec021da250de","tests/enum_from_zeros.rs":"1e712a2802195af290c7ebefb8645158eef96698dfb93b323f9ce234e878c58d","tests/enum_known_layout.rs":"9a36492810c0a7744e651dc8dd8a5749a81dd678b8cd6713ebe3aaa5fe17d7e6","tests/enum_no_cell.rs":"0024ffbd04551350ff2c4d8c4262fc22ebadc599d1f641bedf1bf24d6a060c78","tests/enum_to_bytes.rs":"cf7d0c482e833d2b4f6f677f4c45495f654bdc4862b5044a183dea56533a2e7a","tests/enum_try_from_bytes.rs":"3644b90ab443be7c3a5f212b1738042d86066b3a2516eee035b7081ccda99edf","tests/enum_unaligned.rs":"e04c9d1fa0f8abcd2353cab94015da010e2b3bdee65e23186c7bd13ff89d54c3","tests/eq.rs":"97fd62ff73c474e00921edc3e1bac639dfe757db1b9419d7ed97894a2b76b682","tests/hash.rs":"f0dd3df5f177b6806def5334d38f89348308e56680f7624ca3753ef503f98604","tests/hygiene.rs":"d5633cca46d160ac7ddd3d83176bacc31ccfcffd326c7aa19f2cbf77923d9ff0","tests/include.rs":"4bc635ee9f6509ab8cf1887217b7ae766a5116ba6a3a0a6963ebdfb98ba47715","tests/issue_2117.rs":"7cd6480a9684c7efe915753057973363a0e2bce93bea5a85d3139ea9b2f519bd","tests/issue_2835.rs":"b5a26492da3cd5173b3b5aab11974a972ed370df37e6cba87b5b09e7837b3aed","tests/paths_and_modules.rs":"07a0cc3006e5b60dd32fb0530fa4e5c9e4438d38b3cdd4eb7aca456e6f45a121","tests/priv_in_pub.rs":"cf800572fb32f8a31dc68bf74833abbc40a15ca70a5aad243a496dac136c8ed0","tests/struct_from_bytes.rs":"95dc1d2fec9917044da0bad9a4e217641f3052f95bb8d5f7511fdf72683ce040","tests/struct_from_zeros.rs":"3436b3c34d0ccd69b456dc41264a6c5d3af60f1f955e08f6475cc9ace3cd5f95","tests/struct_known_layout.rs":"66d2676d959a6682f10e1765a4022f41751cca44520e5cb91ebd8e043db734c8","tests/struct_no_cell.rs":"aea0ef4836d5ad38a968304ea57a2cbf46c8b60864c98dd421c72b3369aafb6c","tests/struct_to_bytes.rs":"962b002c03803cabe3b7cc349a0e36ae4280fbaa2902f147aa7c56accf285174","tests/struct_try_from_bytes.rs":"0b060c507fc6e3964cb9ce08f66395778aaded716fd2d20311730542d1c163fe","tests/struct_unaligned.rs":"405ac720c3ce5f6b63ca17248455d45ca92967f8a43b3f347deec03fdb841c6e","tests/trybuild.rs":"a240f2b14fbd84a9f61e8eaf9dcccdbea9359802bf81189f9939dcc06a81afd0","tests/ui-msrv/derive_transparent.rs":"a822e79244df0da55fad83b8cde327f3c1dab7011c8e0b828221d3921537f9ad","tests/ui-msrv/derive_transparent.stderr":"9ce9d216e2c51b252a67b0e1b5b9db034dd9e35e1efcc84ec8f8a7d11d4b378d","tests/ui-msrv/enum.rs":"cbaa483762e1f9ba8448279d740cf5ad9444b144aa9fc31300cfb89cfc123db9","tests/ui-msrv/enum.stderr":"79864363ea1788b667fb7b9b6a87274133110c1dbe78ab0fd2988a4736d587d6","tests/ui-msrv/enum_from_bytes_u8_too_few.rs":"afbec6f24a4bfca472f2929abc5125d8f5b305a0a1b472a1215ad7739ed63100","tests/ui-msrv/enum_from_bytes_u8_too_few.stderr":"a5ab2757166ef9dfa51a09d3dbddd5e9e2b1a46bd3d4b8d175b33a90747878d7","tests/ui-msrv/late_compile_pass.rs":"242d13124ee2fb28413fabec77019ad38b3a1a49ce4f6a783dac8b9c244ea0a5","tests/ui-msrv/late_compile_pass.stderr":"0c518781f144fbe091ad8165ecfbd9341621eda13b67b05e9ea797f1d0587f9e","tests/ui-msrv/mid_compile_pass.rs":"b80b01bfd383c537173f7d630ec2789a2af3e01bc6d53c807fdcf271b235d0c9","tests/ui-msrv/mid_compile_pass.stderr":"02f51290ac6e31ebab51d7917df644163f6c2346877506d7debe8a6351acda95","tests/ui-msrv/msrv_specific.rs":"ef23fd947a553a97fd7d2c2c201b1b1ca98a11cb59894325c2b3ccd61b0dd980","tests/ui-msrv/msrv_specific.stderr":"7aec6f7f077f12f6d35ef31504b9e80fa070245a0feb776b6cc8720614f8f64c","tests/ui-msrv/privacy.rs":"1350525b4c9119e16b77caa56ea501e09ac2f57de7dca5d08f7acdfb4f6b08c5","tests/ui-msrv/privacy.stderr":"5d2475902dc12df0fe565dbdca09e91a232e670cf4b60d28d2a7e9ee418df845","tests/ui-msrv/struct.rs":"f8f07369ec53ab84a62a3ed435cc762268ed98ba44b7c0a2f387388fc15fe25c","tests/ui-msrv/struct.stderr":"b1970c0a893ac7e167f33ff2d97c9cc1a09dac141ea2ff4fc27a6d09aa13bdda","tests/ui-msrv/union.rs":"8bf1cf5267427674a17be834debb16cd4177c5a1103019c0b52ef24e91b6e6c7","tests/ui-msrv/union.stderr":"557f3a446af9213c905e7449ff71f6d62ea8a61547312d3358082b590fe17680","tests/ui-msrv/union_into_bytes_cfg/union_into_bytes_cfg.rs":"a0168adcd0dfdc46e84421937c704b713a1307a4fc2efc19bac5dc32f6758e89","tests/ui-msrv/union_into_bytes_cfg/union_into_bytes_cfg.stderr":"0b9af4f767cc1d6fc591d75b046d31617b5230f012d8ce7c70d7c20ffd6178ca","tests/ui-nightly/absence_of_deprecated_warning.rs":"126083dc4f3efaa51c0606ab68073fea904dc3f71805782b47117bb4ca563b44","tests/ui-nightly/absence_of_deprecated_warning.stderr":"7177d3bbc4b897037c34775f801baef8461483d55915443f07a165f67c5b5f16","tests/ui-nightly/derive_transparent.rs":"a822e79244df0da55fad83b8cde327f3c1dab7011c8e0b828221d3921537f9ad","tests/ui-nightly/derive_transparent.stderr":"7f729a0a72cfa08a3306e4ec97143b54dbf9ed82ab3cf73ff511557f2adce9dd","tests/ui-nightly/enum.rs":"cbaa483762e1f9ba8448279d740cf5ad9444b144aa9fc31300cfb89cfc123db9","tests/ui-nightly/enum.stderr":"a51da9d1624460a961b008f346fe5b5fcac9f7656d2fbf1410813a42cca41bfb","tests/ui-nightly/enum_from_bytes_u8_too_few.rs":"afbec6f24a4bfca472f2929abc5125d8f5b305a0a1b472a1215ad7739ed63100","tests/ui-nightly/enum_from_bytes_u8_too_few.stderr":"6523010fb4d9d3b5313778c144878904647f6ece5e985e8ceac01fb2c6d69f3b","tests/ui-nightly/late_compile_pass.rs":"242d13124ee2fb28413fabec77019ad38b3a1a49ce4f6a783dac8b9c244ea0a5","tests/ui-nightly/late_compile_pass.stderr":"29366c0a26c454cfba8c4317da9bd44efe9476ad1f8e2c17f72f4fe493573f93","tests/ui-nightly/mid_compile_pass.rs":"b80b01bfd383c537173f7d630ec2789a2af3e01bc6d53c807fdcf271b235d0c9","tests/ui-nightly/mid_compile_pass.stderr":"9ad9aeb1e55ab8e84ce0b818e59c9df25f91c47fe1648fad5b129ebb35c493ac","tests/ui-nightly/privacy.rs":"1350525b4c9119e16b77caa56ea501e09ac2f57de7dca5d08f7acdfb4f6b08c5","tests/ui-nightly/privacy.stderr":"ab753009227fbc10497998f08b09408b02d706e558794da122bc8f30fa062f5c","tests/ui-nightly/struct.rs":"f8f07369ec53ab84a62a3ed435cc762268ed98ba44b7c0a2f387388fc15fe25c","tests/ui-nightly/struct.stderr":"7b86a4e4f452b9aa0ec54d0b8360c66a04aa0a75df8c87f22167374aead2c9b8","tests/ui-nightly/union.rs":"8bf1cf5267427674a17be834debb16cd4177c5a1103019c0b52ef24e91b6e6c7","tests/ui-nightly/union.stderr":"ea7162d4ae97d0c56b685ff30cac0ea74db8ecb2a59bd592d1fe72e09f345720","tests/ui-nightly/union_into_bytes_cfg/union_into_bytes_cfg.rs":"a0168adcd0dfdc46e84421937c704b713a1307a4fc2efc19bac5dc32f6758e89","tests/ui-nightly/union_into_bytes_cfg/union_into_bytes_cfg.stderr":"1462a888754048e09c81c93ee4e46c860a85c7683655f35c1b9a305b386b2676","tests/ui-stable/derive_transparent.rs":"a822e79244df0da55fad83b8cde327f3c1dab7011c8e0b828221d3921537f9ad","tests/ui-stable/derive_transparent.stderr":"995f027f1496707a6fbd19b4cda8f87f4f235f9434116a2463ad7564803e19e1","tests/ui-stable/enum.rs":"cbaa483762e1f9ba8448279d740cf5ad9444b144aa9fc31300cfb89cfc123db9","tests/ui-stable/enum.stderr":"f04017c3aa1b444b2c181e7a2db390f2787c8b7cb11a709a212557578f0f9076","tests/ui-stable/enum_from_bytes_u8_too_few.rs":"afbec6f24a4bfca472f2929abc5125d8f5b305a0a1b472a1215ad7739ed63100","tests/ui-stable/enum_from_bytes_u8_too_few.stderr":"2ab0939e10d53824a837d0791d12f039cb20f2ec6b42dce18057f70733e768cc","tests/ui-stable/late_compile_pass.rs":"242d13124ee2fb28413fabec77019ad38b3a1a49ce4f6a783dac8b9c244ea0a5","tests/ui-stable/late_compile_pass.stderr":"25cb967fb14ec968348b4057beaeabd679f981f7746b9643b98aeeea203d25c5","tests/ui-stable/mid_compile_pass.rs":"b80b01bfd383c537173f7d630ec2789a2af3e01bc6d53c807fdcf271b235d0c9","tests/ui-stable/mid_compile_pass.stderr":"0c8fa05159e21c087c8a2a87fb506b0fcd9692c84010c4c7eafd4c1bb1c390c3","tests/ui-stable/privacy.rs":"1350525b4c9119e16b77caa56ea501e09ac2f57de7dca5d08f7acdfb4f6b08c5","tests/ui-stable/privacy.stderr":"b1882aa521a1938bf8c6e62ee5f6e7b3b2b98b5cbf96f3dd12e3904667fdc52f","tests/ui-stable/struct.rs":"f8f07369ec53ab84a62a3ed435cc762268ed98ba44b7c0a2f387388fc15fe25c","tests/ui-stable/struct.stderr":"e45b72580ba4e3a72140bee9b10d864703741e0d49011a70701fc09dc05e27cd","tests/ui-stable/union.rs":"8bf1cf5267427674a17be834debb16cd4177c5a1103019c0b52ef24e91b6e6c7","tests/ui-stable/union.stderr":"be89f3703a86aad65394c92f03dd65a66664248c4f9c367bd00aa3a04e290688","tests/ui-stable/union_into_bytes_cfg/union_into_bytes_cfg.rs":"a0168adcd0dfdc46e84421937c704b713a1307a4fc2efc19bac5dc32f6758e89","tests/ui-stable/union_into_bytes_cfg/union_into_bytes_cfg.stderr":"5ab86d509f2a9ef55e47e34373c57241f528f568e0936553e71c8ddb13f490c0","tests/union_from_bytes.rs":"6cb7ecc1a18985bc65b09a48581ae2b5a5b1c4947e0ca46bf00f0dfabe49c5a1","tests/union_from_zeros.rs":"f2dfc80bf4422b8dc5164a467c31021be1d6868e0d65eafda3714345770782b5","tests/union_known_layout.rs":"9af0d34af3a443ca52b25448f4353bd45eebda67203a890a5dbf7471481f728d","tests/union_no_cell.rs":"be5040a2e878fafa34b7d153a698b31ce6c1577b4d0bfd24df2902b666805be9","tests/union_to_bytes.rs":"bef8e076a781fa5fa6ec3bab759add6f981c7c42527d0123db5780dd98b6a99d","tests/union_try_from_bytes.rs":"57f40ff227336985817c3133ef9b3e3753ad0172add839e0817c66104ad5cb40","tests/union_unaligned.rs":"eb3a44fe2f3bf66acf6303765dd4c4cf65063d4bb3318d0e8160998651a7f5bf","tests/unsafe_cell.rs":"754045859595316399dc2747eda0e7560ff536f5a0e2763bb8f5c1cf7c6128ad"},"package":"2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1"}
|
|
1
|
+
{"files":{".cargo_vcs_info.json":"3f19b340e9997da2fbbabf4f9a1ee80dce86f96a7bb134fd41bc5bdf31910779","Cargo.lock":"0ebf32f37f80a936d3ae05386d9dbf395b8fa23bfc99c36e3f30cb56eb54173f","Cargo.toml":"5128cdd5f6063523ebb12c64b8382433848b2b2b74d05425ead807b370a907da","Cargo.toml.orig":"1000c34852ac4d973639e0076827e328061c5c660c63a1317ecb0041ebb3b023","LICENSE-APACHE":"9d185ac6703c4b0453974c0d85e9eee43e6941009296bb1f5eb0b54e2329e9f3","LICENSE-BSD":"83c1763356e822adde0a2cae748d938a73fdc263849ccff6b27776dff213bd32","LICENSE-MIT":"1a2f5c12ddc934d58956aa5dbdd3255fe55fd957633ab7d0d39e4f0daa73f7df","src/derive/from_bytes.rs":"f4b32fd96d68209474101fa21277f1db9f87eab724822a2d9b16411d79ad205c","src/derive/into_bytes.rs":"c07807f67184516556afadf4a2428d8149645981d7ac640f2b79e25750dca592","src/derive/known_layout.rs":"2037d526540266d7f70c44051a7941ecb1251c5f7a2775ce2c8d90947225a9da","src/derive/mod.rs":"a4d322981cf5993be7983896d9083c60dd7bdf0898cdde86a05ea43e8e3b7c8c","src/derive/try_from_bytes.rs":"d5979cf1471c1e2509c9000f10ee12c74d2871e2128c4ba73b7166b62b777f4f","src/derive/unaligned.rs":"3f54df4dd66efcdc742ea7297e91ff5f910cd0cab6323ea835dae3f9cc3efa33","src/lib.rs":"3c5ca5fba173f5cb24f10f725505cc6ee2c8e844da370704637c5c42826814cc","src/output_tests/expected/eq.expected.rs":"ca9967422f9010b330aad8e605abed5463bfea0b0eec750c65d3b7b35248565c","src/output_tests/expected/from_bytes_enum.expected.rs":"f6b7d8fe943c88c0c16847b0cbda3b60d59f7177541579e37efacb4b3cf59ff1","src/output_tests/expected/from_bytes_struct.expected.rs":"f6b7d8fe943c88c0c16847b0cbda3b60d59f7177541579e37efacb4b3cf59ff1","src/output_tests/expected/from_bytes_union.expected.rs":"79539361b0679ad0e557a3063bf99bfcaaec03f3e52226a828953bdd0e2074dd","src/output_tests/expected/from_zeros.expected.rs":"f67dcc92848d053756cb50ebb188b5b4d242d55bcff9ef86ec6bfc1327f7505c","src/output_tests/expected/hash.expected.rs":"bf33fa9d4117d12bd05e2acb86a795230d207401568910257af60c3b1fd3d70b","src/output_tests/expected/immutable.expected.rs":"18e347b77c82ca1d2a1cd27fc45c030d62cf3f6bcf629a919dfa21c2130d0317","src/output_tests/expected/into_bytes_enum.expected.rs":"a5acd221de00f6c09ed895c267541ae566ec88a3164d1ccf300117996fc94f06","src/output_tests/expected/into_bytes_struct_basic.expected.rs":"14f40f52ae544836c97a44fb12bb46a2e36cf01cd89a96111257afdf1e075284","src/output_tests/expected/into_bytes_struct_empty.expected.rs":"a5acd221de00f6c09ed895c267541ae566ec88a3164d1ccf300117996fc94f06","src/output_tests/expected/into_bytes_struct_trailing.expected.rs":"1428732fbb5f921be2b96be30d8784abe57f4000e3bcd07fc99f4e51eca953e6","src/output_tests/expected/into_bytes_struct_trailing_generic.expected.rs":"43734b843fac0339f2070f2048dfa6afb0369a30963ee7c82cec42fe59dc30b9","src/output_tests/expected/known_layout_repr_c_struct.expected.rs":"7b9cbc28b87cf8d1b523874a3c641f3a7eb6d05abd8621ec49e7f11138869708","src/output_tests/expected/known_layout_struct.expected.rs":"a820c628e0904650974562383ae14ce4878af0652fef25978398e408755f1d71","src/output_tests/expected/split_at_repr_c.expected.rs":"7aa5abd3cd581620c59843bcecbd121ff2e13e257044afd500b61226d652fa78","src/output_tests/expected/split_at_repr_transparent.expected.rs":"7aa5abd3cd581620c59843bcecbd121ff2e13e257044afd500b61226d652fa78","src/output_tests/expected/try_from_bytes.expected.rs":"27dc8d707ea606e1beddaf4587cc5f8289f0ed76a0ec39418fd21c8ae9ef39c6","src/output_tests/expected/try_from_bytes_enum_1.expected.rs":"36d2ac0cac2b158fea5b49405b742ab826893d211702d586c9d8bf622b91a7b5","src/output_tests/expected/try_from_bytes_enum_2.expected.rs":"68a3fa29f161fcd43a572efbe1e0f23e1ad59cf9637fa077f098de4679fd6d6b","src/output_tests/expected/try_from_bytes_enum_3.expected.rs":"6e75f1953c604c00f3003268e22f4931ea7dc02bb04bedda866c7c60ab1f0e9d","src/output_tests/expected/try_from_bytes_trivial_is_bit_valid_enum.expected.rs":"baf528df9b657e7562fb27be086206eede8d8f3a8797aedafec1e55073b0d92c","src/output_tests/expected/unaligned.expected.rs":"8c833f97005b6fd84875ace51bddbb8c0185696c4435eb5cd05ce720f89a0ef7","src/output_tests/mod.rs":"2390a77746b28f4947fba96cba96723f47115f295df26dad89daa80861b18895","src/repr.rs":"2766afad6cf7bd24ee67ee02452e638dac474e8d00edb51dff54f9e9691d2526","src/util.rs":"a04c5d8f75ad26ad2478613b8441b293455f179d5117a5f30d8a7479e645210c","tests/deprecated.rs":"c49b92bcdd1d005ec0c4ae033c5ebaddcc300f9003170a848d9c678ecad66978","tests/enum_from_zeros.rs":"b080fb192faf039348100ac41e666d3b19908d0312e245d77749eadd52d4a29a","tests/enum_known_layout.rs":"ce2c7bfc3c7272d03321f7eac7217326afd515f03af7dc7a9cd0b4465e68f193","tests/enum_no_cell.rs":"a353033f83ccec5258871a04e0ec7b4610191eba9bd024e6059a8b674165bba1","tests/enum_to_bytes.rs":"ad6df48ae9df15d2eba7e955155ded2cc8c2c29809183327aa2a96c7aa0ef998","tests/enum_try_from_bytes.rs":"bf3126c117a03b95779c05c5102c660f78e1ce915f1924edb2da73451447a213","tests/enum_unaligned.rs":"0aa3324a672ebd07341ec7a316d1de391be52c1ca9daf21055c74b8c67d3aac4","tests/eq.rs":"7c07d1a311478664725632da4d599d4755ac659c589f37a597c73489a3d69c26","tests/hash.rs":"252efc53a24c92187b02a4f7cdbd9993af5ce40ac734797661308f55d4c4f591","tests/hygiene.rs":"afeb9601a2ba1efec58aed0650bb945923273b1b4377597301943df7f832ccd2","tests/include.rs":"35e32e30c67d7a73668b712faac24a95b552ed779bcbca34a55582f6e3e95688","tests/issue_2117.rs":"f41e8c5e021ccd7c994ae3f5468881d45d088acbfb5ab53f391cf03cf647d866","tests/issue_2835.rs":"0080e4beec745a72bf8be63882e7d0ef645b1ff5adbae6b20e1a519fcb981cfd","tests/issue_2880.rs":"8e7268473a10f53cdf3c62753facd8065d364e0ce699a9e72a7ea49e54250217","tests/issue_2915.rs":"9ac2729405d17176d8fa27d9b41590ac7ced232617fdcef7d181a6a89fa4cca4","tests/paths_and_modules.rs":"b959482b7666fd1a4493c335121fb5ebf284a679a470801f162b18f8b50ce120","tests/priv_in_pub.rs":"1f00f7a510048179939efd78ff2092b846775f8cf3ab1b6ca2d12b3b21a98e79","tests/struct_from_bytes.rs":"b51b59bf4b4dc97acb433ff44edc1fac8fed6fa55e0b6a4be85a602cac184305","tests/struct_from_zeros.rs":"1f4f70ce8cff4a0de9a69206eda5be7db0dfb55408ea36533bff8798463eea9c","tests/struct_known_layout.rs":"d1b8e7804ab2886cd16ceb83a7e0eb76eab44b3315874ca1e40d4bbc326b4513","tests/struct_no_cell.rs":"889cdbdf2e86baf2615113a1c7c205a90a150e61d093fc3ff827b2653798ac7b","tests/struct_to_bytes.rs":"e08dc8d5a5c75d36e56c593279c49364a16ee73af726424a99bf0987ed4d7822","tests/struct_try_from_bytes.rs":"639b93e0b091bc39dcaca50257164c2e4eaf38008dedb6286799375ec02b9e7b","tests/struct_unaligned.rs":"26e2ce75e599469b5bb040c14fb82cfea62a915c8760a12aa03ff8c8b6a124ca","tests/trybuild.rs":"a240f2b14fbd84a9f61e8eaf9dcccdbea9359802bf81189f9939dcc06a81afd0","tests/ui-msrv/derive_transparent.rs":"6ed88cfc08d88bc78c952ca3b4adcd9bae1ef0758a70e9f20075d408a9002367","tests/ui-msrv/derive_transparent.stderr":"b9312968c8aa7ed27d830e53a6bf180f589c04b790b2e9d4ddd5da26c39caffc","tests/ui-msrv/enum.rs":"aec60493658be2938cb4b6b75aa22518c9929867aa5405047b0d4e7bb26e50fa","tests/ui-msrv/enum.stderr":"6ae23a7d3cc6a9fd16f80e2437937066a20f4c2e52d3cb2f0eb25bd362280aa7","tests/ui-msrv/enum_from_bytes_u8_too_few.rs":"5a9c5860f67d4de553402d5d2a737d847a65f0d6f60b8c7041ef5b68f80b9de2","tests/ui-msrv/enum_from_bytes_u8_too_few.stderr":"6ed1023cab6189068d77599de0b5227a39fea28c2a730f96d1380e7cc9402ca9","tests/ui-msrv/late_compile_pass.rs":"db79c10b493fdb80801a89bff456cd7991a65641ff48a013a7223fc160cffcab","tests/ui-msrv/late_compile_pass.stderr":"f7bf3906058e45aa1fd345501988734aed3565109774453ac9ca914cab9faacb","tests/ui-msrv/mid_compile_pass.rs":"568902a3041efa1d61c5f9f11ec048b6cfb0ec37eca4fb4ed4d48f4aa0dd0d1b","tests/ui-msrv/mid_compile_pass.stderr":"8f33d17846031f1538de7810b180efd08f296f1e42118334383a340cae06aa21","tests/ui-msrv/msrv_specific.rs":"379fde46b56b72e09641af524eed951acf199329514dab98b752a70be6102098","tests/ui-msrv/msrv_specific.stderr":"ab0c8ed3368185ddcc2e99ab21d57bc9518d20d08844f577d3680903a54a1b77","tests/ui-msrv/privacy.rs":"3c09f7001e80205bafec53afb895bfaf5c257e54316da4c193f9078c8b6f3fb8","tests/ui-msrv/privacy.stderr":"70d78e55008f0dcd5026de75d7dd954371d5e03135de6cb2c313696f2da2ecd6","tests/ui-msrv/struct.rs":"edb9fa4e39d8492ed394d596d405f4088719edf07abb566e9fad028281bb3701","tests/ui-msrv/struct.stderr":"e216d3679ef3a7cd25981fa4b393abd2277ee77f1317c2232f46fab3c531d03e","tests/ui-msrv/union.rs":"fe34d99810a11123cd07b698cf67a0b7c82ea261f25f0b916300681912487529","tests/ui-msrv/union.stderr":"a4ec902f10c642c5f447ecf02e2891f03bcde142b3abc4377a43a609005c4cc8","tests/ui-msrv/union_into_bytes_cfg/union_into_bytes_cfg.rs":"c693bf90664c1df85b1d1cda9e2ebe235fb22c4cac213087069ff250f36f67cc","tests/ui-msrv/union_into_bytes_cfg/union_into_bytes_cfg.stderr":"0b9af4f767cc1d6fc591d75b046d31617b5230f012d8ce7c70d7c20ffd6178ca","tests/ui-nightly/absence_of_deprecated_warning.rs":"8621bc8cda4849d9c485f6d0f9008384ba030ee2924e266c5e295d7c91f2a8c8","tests/ui-nightly/absence_of_deprecated_warning.stderr":"cdbbdbdd6a0acbacfd1acf84df75a63cf79544ed1689a2adff2fda7496546b28","tests/ui-nightly/derive_transparent.rs":"6ed88cfc08d88bc78c952ca3b4adcd9bae1ef0758a70e9f20075d408a9002367","tests/ui-nightly/derive_transparent.stderr":"c935350979c17e482141efc465ede0d8e16ec06809b4a3adb9b0dfff24b13c8b","tests/ui-nightly/enum.rs":"aec60493658be2938cb4b6b75aa22518c9929867aa5405047b0d4e7bb26e50fa","tests/ui-nightly/enum.stderr":"b3508588aa068f3a46d011d160f7d9af78febf64a8363766aa1b5816c09347bf","tests/ui-nightly/enum_from_bytes_u8_too_few.rs":"5a9c5860f67d4de553402d5d2a737d847a65f0d6f60b8c7041ef5b68f80b9de2","tests/ui-nightly/enum_from_bytes_u8_too_few.stderr":"fd3537d2500554c996df20232d7928269a1628a541c527dc12c8ea90e193ca42","tests/ui-nightly/late_compile_pass.rs":"db79c10b493fdb80801a89bff456cd7991a65641ff48a013a7223fc160cffcab","tests/ui-nightly/late_compile_pass.stderr":"a9ff9f29ad9174b66025c153c5a302ae55f8b92aa3fdbe8ff54a104e540fd8c7","tests/ui-nightly/mid_compile_pass.rs":"568902a3041efa1d61c5f9f11ec048b6cfb0ec37eca4fb4ed4d48f4aa0dd0d1b","tests/ui-nightly/mid_compile_pass.stderr":"9af12a0879f17a622eb58eff805cb9745e0ec5a4a3d6087e9b2de7ecf6af3948","tests/ui-nightly/privacy.rs":"3c09f7001e80205bafec53afb895bfaf5c257e54316da4c193f9078c8b6f3fb8","tests/ui-nightly/privacy.stderr":"2250fee84293dc5a9e7b9459b43788e01a19f0371d6b872219f8007b6d7a3337","tests/ui-nightly/struct.rs":"edb9fa4e39d8492ed394d596d405f4088719edf07abb566e9fad028281bb3701","tests/ui-nightly/struct.stderr":"dd76c751239313abb5177968c03e834f73612cf8ef7c41535cb63573385b0d25","tests/ui-nightly/union.rs":"fe34d99810a11123cd07b698cf67a0b7c82ea261f25f0b916300681912487529","tests/ui-nightly/union.stderr":"bc5ef7e485254fa175a63780f5fab81a993bfa2448b4e485a3dcc9c08d7f8c1e","tests/ui-nightly/union_into_bytes_cfg/union_into_bytes_cfg.rs":"c693bf90664c1df85b1d1cda9e2ebe235fb22c4cac213087069ff250f36f67cc","tests/ui-nightly/union_into_bytes_cfg/union_into_bytes_cfg.stderr":"1462a888754048e09c81c93ee4e46c860a85c7683655f35c1b9a305b386b2676","tests/ui-stable/derive_transparent.rs":"6ed88cfc08d88bc78c952ca3b4adcd9bae1ef0758a70e9f20075d408a9002367","tests/ui-stable/derive_transparent.stderr":"a3c518362e1b1e607c34165cc5fe03b84e46778608b628b6f5bf0fb749edc2fe","tests/ui-stable/enum.rs":"aec60493658be2938cb4b6b75aa22518c9929867aa5405047b0d4e7bb26e50fa","tests/ui-stable/enum.stderr":"c2032e973361da79d0267887c6601cf42eb70164c08888e9b28d5a40d9004949","tests/ui-stable/enum_from_bytes_u8_too_few.rs":"5a9c5860f67d4de553402d5d2a737d847a65f0d6f60b8c7041ef5b68f80b9de2","tests/ui-stable/enum_from_bytes_u8_too_few.stderr":"f5e783b05a3688772707e0db86f109f01df6e1dab18ad9035c514b2b06c32d21","tests/ui-stable/late_compile_pass.rs":"db79c10b493fdb80801a89bff456cd7991a65641ff48a013a7223fc160cffcab","tests/ui-stable/late_compile_pass.stderr":"12159f5c4477adf57db49957618b5a5d3e4a0dd141415541b62d751a18209c94","tests/ui-stable/mid_compile_pass.rs":"568902a3041efa1d61c5f9f11ec048b6cfb0ec37eca4fb4ed4d48f4aa0dd0d1b","tests/ui-stable/mid_compile_pass.stderr":"8099cfb81916cbc85cf637bfee1fcbea1ba91a3d25e54a25bd8846ed85ba34b5","tests/ui-stable/privacy.rs":"3c09f7001e80205bafec53afb895bfaf5c257e54316da4c193f9078c8b6f3fb8","tests/ui-stable/privacy.stderr":"99f0b46a5ea1a4118e0d7a597cc51c89dde92b3b67ea14729b94bcb7c28f655c","tests/ui-stable/struct.rs":"edb9fa4e39d8492ed394d596d405f4088719edf07abb566e9fad028281bb3701","tests/ui-stable/struct.stderr":"edbf38c00ae4b0116d03e2fd83251efbc59f67da60e41debbf241ec45b824701","tests/ui-stable/union.rs":"fe34d99810a11123cd07b698cf67a0b7c82ea261f25f0b916300681912487529","tests/ui-stable/union.stderr":"f06212e1c66f051cb44ed062032e17123b180a8830a6202bac81e1195dc4f788","tests/ui-stable/union_into_bytes_cfg/union_into_bytes_cfg.rs":"c693bf90664c1df85b1d1cda9e2ebe235fb22c4cac213087069ff250f36f67cc","tests/ui-stable/union_into_bytes_cfg/union_into_bytes_cfg.stderr":"5ab86d509f2a9ef55e47e34373c57241f528f568e0936553e71c8ddb13f490c0","tests/union_from_bytes.rs":"c8194d9ce55ffc756fed38b5272e738b1284ceff74dd2d07a160d8aea74447b8","tests/union_from_zeros.rs":"dd45058a4ddc268cc2f29b1228a947276b24c94d7cb278f1acc54dac036305af","tests/union_known_layout.rs":"6c8cc9c7901681bc02f4c986ed7d717c059474670d678dc288eef4e0c392c60f","tests/union_no_cell.rs":"c4dd72503164e5433ded5202e02add1024c79c9a36a440783cd20d27b3406a7b","tests/union_to_bytes.rs":"09c123ee3f647c468b9b1ec9e82ef86d1754f3ad1dcb8882bcdfa6b2a2536557","tests/union_try_from_bytes.rs":"1b4753d510ef3444b6375dda28a73f5e1417521d51e45d6b80f66fd22ae08064","tests/union_unaligned.rs":"ff7deadd16e331b4a4c686033330ab9d0207b6e9279c0c3419c0a5c84ea30c94","tests/unsafe_cell.rs":"c186d04ae7ec6f0c2e05b2b24a15b53ea97496cdb80ef9a3cb5e88c3a847407f"},"package":"0c15e1b46eff7c6c91195752e0eeed8ef040e391cdece7c25376957d5f15df22"}
|
|
@@ -29,12 +29,6 @@ version = "1.0.15"
|
|
|
29
29
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
30
30
|
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
|
31
31
|
|
|
32
|
-
[[package]]
|
|
33
|
-
name = "libc"
|
|
34
|
-
version = "0.2.163"
|
|
35
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
36
|
-
checksum = "1fdaeca4cf44ed4ac623e86ef41f056e848dbeab7ec043ecb7326ba300b36fd0"
|
|
37
|
-
|
|
38
32
|
[[package]]
|
|
39
33
|
name = "memchr"
|
|
40
34
|
version = "2.5.0"
|
|
@@ -127,9 +121,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
|
|
|
127
121
|
|
|
128
122
|
[[package]]
|
|
129
123
|
name = "syn"
|
|
130
|
-
version = "2.0.
|
|
124
|
+
version = "2.0.56"
|
|
131
125
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
132
|
-
checksum = "
|
|
126
|
+
checksum = "6e2415488199887523e74fd9a5f7be804dfd42d868ae0eca382e3917094d210e"
|
|
133
127
|
dependencies = [
|
|
134
128
|
"proc-macro2",
|
|
135
129
|
"quote",
|
|
@@ -251,11 +245,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
|
|
251
245
|
|
|
252
246
|
[[package]]
|
|
253
247
|
name = "zerocopy-derive"
|
|
254
|
-
version = "0.8.
|
|
248
|
+
version = "0.8.35"
|
|
255
249
|
dependencies = [
|
|
256
250
|
"dissimilar",
|
|
257
|
-
"libc",
|
|
258
|
-
"once_cell",
|
|
259
251
|
"prettyplease",
|
|
260
252
|
"proc-macro2",
|
|
261
253
|
"quote",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
[package]
|
|
13
13
|
edition = "2021"
|
|
14
14
|
name = "zerocopy-derive"
|
|
15
|
-
version = "0.8.
|
|
15
|
+
version = "0.8.35"
|
|
16
16
|
authors = [
|
|
17
17
|
"Joshua Liebow-Feeser <joshlf@google.com>",
|
|
18
18
|
"Jack Wrenn <jswrenn@amazon.com>",
|
|
@@ -38,10 +38,6 @@ name = "zerocopy_derive"
|
|
|
38
38
|
path = "src/lib.rs"
|
|
39
39
|
proc-macro = true
|
|
40
40
|
|
|
41
|
-
[[test]]
|
|
42
|
-
name = "crate_path"
|
|
43
|
-
path = "tests/crate_path.rs"
|
|
44
|
-
|
|
45
41
|
[[test]]
|
|
46
42
|
name = "deprecated"
|
|
47
43
|
path = "tests/deprecated.rs"
|
|
@@ -94,6 +90,14 @@ path = "tests/issue_2117.rs"
|
|
|
94
90
|
name = "issue_2835"
|
|
95
91
|
path = "tests/issue_2835.rs"
|
|
96
92
|
|
|
93
|
+
[[test]]
|
|
94
|
+
name = "issue_2880"
|
|
95
|
+
path = "tests/issue_2880.rs"
|
|
96
|
+
|
|
97
|
+
[[test]]
|
|
98
|
+
name = "issue_2915"
|
|
99
|
+
path = "tests/issue_2915.rs"
|
|
100
|
+
|
|
97
101
|
[[test]]
|
|
98
102
|
name = "paths_and_modules"
|
|
99
103
|
path = "tests/paths_and_modules.rs"
|
|
@@ -179,12 +183,6 @@ features = ["full"]
|
|
|
179
183
|
[dev-dependencies.dissimilar]
|
|
180
184
|
version = "1.0.9"
|
|
181
185
|
|
|
182
|
-
[dev-dependencies.libc]
|
|
183
|
-
version = "=0.2.163"
|
|
184
|
-
|
|
185
|
-
[dev-dependencies.once_cell]
|
|
186
|
-
version = "=1.9"
|
|
187
|
-
|
|
188
186
|
[dev-dependencies.prettyplease]
|
|
189
187
|
version = "=0.2.17"
|
|
190
188
|
|
|
@@ -200,6 +198,10 @@ version = "1.0"
|
|
|
200
198
|
[dev-dependencies.static_assertions]
|
|
201
199
|
version = "1.1"
|
|
202
200
|
|
|
201
|
+
[dev-dependencies.syn]
|
|
202
|
+
version = "2.0.46"
|
|
203
|
+
features = ["visit"]
|
|
204
|
+
|
|
203
205
|
[dev-dependencies.trybuild]
|
|
204
206
|
version = "=1.0.89"
|
|
205
207
|
features = ["diff"]
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[package]
|
|
10
10
|
edition = "2021"
|
|
11
11
|
name = "zerocopy-derive"
|
|
12
|
-
version = "0.8.
|
|
12
|
+
version = "0.8.35"
|
|
13
13
|
authors = ["Joshua Liebow-Feeser <joshlf@google.com>", "Jack Wrenn <jswrenn@amazon.com>"]
|
|
14
14
|
description = "Custom derive for traits from the zerocopy crate"
|
|
15
15
|
license = "BSD-2-Clause OR Apache-2.0 OR MIT"
|
|
@@ -36,23 +36,20 @@ syn = { version = "2.0.46", features = ["full"] }
|
|
|
36
36
|
|
|
37
37
|
[dev-dependencies]
|
|
38
38
|
dissimilar = "1.0.9"
|
|
39
|
-
# We don't use this directly, but trybuild does. On the MSRV toolchain, the
|
|
40
|
-
# version resolver fails to select any version for once_cell unless we
|
|
41
|
-
# depend on it directly.
|
|
42
|
-
once_cell = "=1.9"
|
|
43
|
-
# Same MSRV issue as above.
|
|
44
|
-
libc = "=0.2.163"
|
|
45
|
-
# This is the latest version which is compatible with `syn` 2.0.46, which we pin
|
|
46
|
-
# to in CI for MSRV compatibility reasons.
|
|
47
39
|
prettyplease = "=0.2.17"
|
|
48
40
|
proc-macro2 = "=1.0.80"
|
|
49
41
|
quote = "=1.0.40"
|
|
50
42
|
rustversion = "1.0"
|
|
51
43
|
static_assertions = "1.1"
|
|
44
|
+
syn = { version = "2.0.46", features = ["visit"] }
|
|
52
45
|
testutil = { path = "../testutil" }
|
|
53
46
|
# Pinned to a specific version so that the version used for local development
|
|
54
47
|
# and the version used in CI are guaranteed to be the same. Future versions
|
|
55
48
|
# sometimes change the output format slightly, so a version mismatch can cause
|
|
56
49
|
# CI test failures.
|
|
57
50
|
trybuild = { version = "=1.0.89", features = ["diff"] }
|
|
58
|
-
zerocopy
|
|
51
|
+
# We import as `zerocopy-renamed` so that we can refer to the crate as
|
|
52
|
+
# `zerocopy-renamed` in the generated code, which allows us to test that the
|
|
53
|
+
# `crate` attribute works correctly, and ensures that we never accidentally
|
|
54
|
+
# hard-code the name `zerocopy` in the generated code.
|
|
55
|
+
zerocopy-renamed = { package = "zerocopy", path = "../", features = ["derive"] }
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
use proc_macro2::{Span, TokenStream};
|
|
2
|
+
use syn::{
|
|
3
|
+
parse_quote, Data, DataEnum, DataStruct, DataUnion, Error, Expr, ExprLit, ExprUnary, Lit, UnOp,
|
|
4
|
+
WherePredicate,
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
use crate::{
|
|
8
|
+
derive::try_from_bytes::derive_try_from_bytes,
|
|
9
|
+
repr::{CompoundRepr, EnumRepr, Repr, Spanned},
|
|
10
|
+
util::{enum_size_from_repr, Ctx, FieldBounds, ImplBlockBuilder, Trait, TraitBound},
|
|
11
|
+
};
|
|
12
|
+
/// Returns `Ok(index)` if variant `index` of the enum has a discriminant of
|
|
13
|
+
/// zero. If `Err(bool)` is returned, the boolean is true if the enum has
|
|
14
|
+
/// unknown discriminants (e.g. discriminants set to const expressions which we
|
|
15
|
+
/// can't evaluate in a proc macro). If the enum has unknown discriminants, then
|
|
16
|
+
/// it might have a zero variant that we just can't detect.
|
|
17
|
+
pub(crate) fn find_zero_variant(enm: &DataEnum) -> Result<usize, bool> {
|
|
18
|
+
// Discriminants can be anywhere in the range [i128::MIN, u128::MAX] because
|
|
19
|
+
// the discriminant type may be signed or unsigned. Since we only care about
|
|
20
|
+
// tracking the discriminant when it's less than or equal to zero, we can
|
|
21
|
+
// avoid u128 -> i128 conversions and bounds checking by making the "next
|
|
22
|
+
// discriminant" value implicitly negative.
|
|
23
|
+
// Technically 64 bits is enough, but 128 is better for future compatibility
|
|
24
|
+
// with https://github.com/rust-lang/rust/issues/56071
|
|
25
|
+
let mut next_negative_discriminant = Some(0);
|
|
26
|
+
|
|
27
|
+
// Sometimes we encounter explicit discriminants that we can't know the
|
|
28
|
+
// value of (e.g. a constant expression that requires evaluation). These
|
|
29
|
+
// could evaluate to zero or a negative number, but we can't assume that
|
|
30
|
+
// they do (no false positives allowed!). So we treat them like strictly-
|
|
31
|
+
// positive values that can't result in any zero variants, and track whether
|
|
32
|
+
// we've encountered any unknown discriminants.
|
|
33
|
+
let mut has_unknown_discriminants = false;
|
|
34
|
+
|
|
35
|
+
for (i, v) in enm.variants.iter().enumerate() {
|
|
36
|
+
match v.discriminant.as_ref() {
|
|
37
|
+
// Implicit discriminant
|
|
38
|
+
None => {
|
|
39
|
+
match next_negative_discriminant.as_mut() {
|
|
40
|
+
Some(0) => return Ok(i),
|
|
41
|
+
// n is nonzero so subtraction is always safe
|
|
42
|
+
Some(n) => *n -= 1,
|
|
43
|
+
None => (),
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Explicit positive discriminant
|
|
47
|
+
Some((_, Expr::Lit(ExprLit { lit: Lit::Int(int), .. }))) => {
|
|
48
|
+
match int.base10_parse::<u128>().ok() {
|
|
49
|
+
Some(0) => return Ok(i),
|
|
50
|
+
Some(_) => next_negative_discriminant = None,
|
|
51
|
+
None => {
|
|
52
|
+
// Numbers should never fail to parse, but just in case:
|
|
53
|
+
has_unknown_discriminants = true;
|
|
54
|
+
next_negative_discriminant = None;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Explicit negative discriminant
|
|
59
|
+
Some((_, Expr::Unary(ExprUnary { op: UnOp::Neg(_), expr, .. }))) => match &**expr {
|
|
60
|
+
Expr::Lit(ExprLit { lit: Lit::Int(int), .. }) => {
|
|
61
|
+
match int.base10_parse::<u128>().ok() {
|
|
62
|
+
Some(0) => return Ok(i),
|
|
63
|
+
// x is nonzero so subtraction is always safe
|
|
64
|
+
Some(x) => next_negative_discriminant = Some(x - 1),
|
|
65
|
+
None => {
|
|
66
|
+
// Numbers should never fail to parse, but just in
|
|
67
|
+
// case:
|
|
68
|
+
has_unknown_discriminants = true;
|
|
69
|
+
next_negative_discriminant = None;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Unknown negative discriminant (e.g. const repr)
|
|
74
|
+
_ => {
|
|
75
|
+
has_unknown_discriminants = true;
|
|
76
|
+
next_negative_discriminant = None;
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
// Unknown discriminant (e.g. const expr)
|
|
80
|
+
_ => {
|
|
81
|
+
has_unknown_discriminants = true;
|
|
82
|
+
next_negative_discriminant = None;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
Err(has_unknown_discriminants)
|
|
88
|
+
}
|
|
89
|
+
pub(crate) fn derive_from_zeros(ctx: &Ctx, top_level: Trait) -> Result<TokenStream, Error> {
|
|
90
|
+
let try_from_bytes = derive_try_from_bytes(ctx, top_level)?;
|
|
91
|
+
let from_zeros = match &ctx.ast.data {
|
|
92
|
+
Data::Struct(strct) => derive_from_zeros_struct(ctx, strct),
|
|
93
|
+
Data::Enum(enm) => derive_from_zeros_enum(ctx, enm)?,
|
|
94
|
+
Data::Union(unn) => derive_from_zeros_union(ctx, unn),
|
|
95
|
+
};
|
|
96
|
+
Ok(IntoIterator::into_iter([try_from_bytes, from_zeros]).collect())
|
|
97
|
+
}
|
|
98
|
+
pub(crate) fn derive_from_bytes(ctx: &Ctx, top_level: Trait) -> Result<TokenStream, Error> {
|
|
99
|
+
let from_zeros = derive_from_zeros(ctx, top_level)?;
|
|
100
|
+
let from_bytes = match &ctx.ast.data {
|
|
101
|
+
Data::Struct(strct) => derive_from_bytes_struct(ctx, strct),
|
|
102
|
+
Data::Enum(enm) => derive_from_bytes_enum(ctx, enm)?,
|
|
103
|
+
Data::Union(unn) => derive_from_bytes_union(ctx, unn),
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
Ok(IntoIterator::into_iter([from_zeros, from_bytes]).collect())
|
|
107
|
+
}
|
|
108
|
+
fn derive_from_zeros_struct(ctx: &Ctx, strct: &DataStruct) -> TokenStream {
|
|
109
|
+
ImplBlockBuilder::new(ctx, strct, Trait::FromZeros, FieldBounds::ALL_SELF).build()
|
|
110
|
+
}
|
|
111
|
+
fn derive_from_zeros_enum(ctx: &Ctx, enm: &DataEnum) -> Result<TokenStream, Error> {
|
|
112
|
+
let repr = EnumRepr::from_attrs(&ctx.ast.attrs)?;
|
|
113
|
+
|
|
114
|
+
// We don't actually care what the repr is; we just care that it's one of
|
|
115
|
+
// the allowed ones.
|
|
116
|
+
match repr {
|
|
117
|
+
Repr::Compound(Spanned { t: CompoundRepr::C | CompoundRepr::Primitive(_), span: _ }, _) => {
|
|
118
|
+
}
|
|
119
|
+
Repr::Transparent(_) | Repr::Compound(Spanned { t: CompoundRepr::Rust, span: _ }, _) => {
|
|
120
|
+
return Err(Error::new(
|
|
121
|
+
Span::call_site(),
|
|
122
|
+
"must have #[repr(C)] or #[repr(Int)] attribute in order to guarantee this type's memory layout",
|
|
123
|
+
));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
let zero_variant = match find_zero_variant(enm) {
|
|
128
|
+
Ok(index) => enm.variants.iter().nth(index).unwrap(),
|
|
129
|
+
// Has unknown variants
|
|
130
|
+
Err(true) => {
|
|
131
|
+
return Err(Error::new_spanned(
|
|
132
|
+
&ctx.ast,
|
|
133
|
+
"FromZeros only supported on enums with a variant that has a discriminant of `0`\n\
|
|
134
|
+
help: This enum has discriminants which are not literal integers. One of those may \
|
|
135
|
+
define or imply which variant has a discriminant of zero. Use a literal integer to \
|
|
136
|
+
define or imply the variant with a discriminant of zero.",
|
|
137
|
+
));
|
|
138
|
+
}
|
|
139
|
+
// Does not have unknown variants
|
|
140
|
+
Err(false) => {
|
|
141
|
+
return Err(Error::new_spanned(
|
|
142
|
+
&ctx.ast,
|
|
143
|
+
"FromZeros only supported on enums with a variant that has a discriminant of `0`",
|
|
144
|
+
));
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
let zerocopy_crate = &ctx.zerocopy_crate;
|
|
149
|
+
let explicit_bounds = zero_variant
|
|
150
|
+
.fields
|
|
151
|
+
.iter()
|
|
152
|
+
.map(|field| {
|
|
153
|
+
let ty = &field.ty;
|
|
154
|
+
parse_quote! { #ty: #zerocopy_crate::FromZeros }
|
|
155
|
+
})
|
|
156
|
+
.collect::<Vec<WherePredicate>>();
|
|
157
|
+
|
|
158
|
+
Ok(ImplBlockBuilder::new(ctx, enm, Trait::FromZeros, FieldBounds::Explicit(explicit_bounds))
|
|
159
|
+
.build())
|
|
160
|
+
}
|
|
161
|
+
fn derive_from_zeros_union(ctx: &Ctx, unn: &DataUnion) -> TokenStream {
|
|
162
|
+
let field_type_trait_bounds = FieldBounds::All(&[TraitBound::Slf]);
|
|
163
|
+
ImplBlockBuilder::new(ctx, unn, Trait::FromZeros, field_type_trait_bounds).build()
|
|
164
|
+
}
|
|
165
|
+
fn derive_from_bytes_struct(ctx: &Ctx, strct: &DataStruct) -> TokenStream {
|
|
166
|
+
ImplBlockBuilder::new(ctx, strct, Trait::FromBytes, FieldBounds::ALL_SELF).build()
|
|
167
|
+
}
|
|
168
|
+
fn derive_from_bytes_enum(ctx: &Ctx, enm: &DataEnum) -> Result<TokenStream, Error> {
|
|
169
|
+
let repr = EnumRepr::from_attrs(&ctx.ast.attrs)?;
|
|
170
|
+
|
|
171
|
+
let variants_required = 1usize << enum_size_from_repr(&repr)?;
|
|
172
|
+
if enm.variants.len() != variants_required {
|
|
173
|
+
return Err(Error::new_spanned(
|
|
174
|
+
&ctx.ast,
|
|
175
|
+
format!(
|
|
176
|
+
"FromBytes only supported on {} enum with {} variants",
|
|
177
|
+
repr.repr_type_name(),
|
|
178
|
+
variants_required
|
|
179
|
+
),
|
|
180
|
+
));
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
Ok(ImplBlockBuilder::new(ctx, enm, Trait::FromBytes, FieldBounds::ALL_SELF).build())
|
|
184
|
+
}
|
|
185
|
+
fn derive_from_bytes_union(ctx: &Ctx, unn: &DataUnion) -> TokenStream {
|
|
186
|
+
let field_type_trait_bounds = FieldBounds::All(&[TraitBound::Slf]);
|
|
187
|
+
ImplBlockBuilder::new(ctx, unn, Trait::FromBytes, field_type_trait_bounds).build()
|
|
188
|
+
}
|