mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 05:11:16 +00:00
Bug 1839799 - Update scroll_derive to 0.11.1. r=emilio,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D181729
This commit is contained in:
parent
5e9c82be75
commit
3336e4d96c
6
Cargo.lock
generated
6
Cargo.lock
generated
@ -4618,13 +4618,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "scroll_derive"
|
||||
version = "0.11.0"
|
||||
version = "0.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e"
|
||||
checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.107",
|
||||
"syn 2.0.18",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2543,6 +2543,11 @@ criteria = "safe-to-deploy"
|
||||
delta = "0.10.5 -> 0.11.0"
|
||||
notes = "No code changes. Tagged together with its parent crate scroll."
|
||||
|
||||
[[audits.scroll_derive]]
|
||||
who = "Mike Hommey <mh+mozilla@glandium.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "0.11.0 -> 0.11.1"
|
||||
|
||||
[[audits.selectors]]
|
||||
who = "Emilio Cobos Álvarez <emilio@crisal.io>"
|
||||
criteria = "safe-to-deploy"
|
||||
|
@ -1 +1 @@
|
||||
{"files":{"Cargo.lock":"1c75a1216efdf3c7b4726138eed43fadf9325750c8d01d2358b4cf4ad742f8c1","Cargo.toml":"36cd9b38e6f4ed4bd807208da809d3803af3b134264fd5c90a29a6f064b3b4d9","LICENSE":"afb11426e09da40a1ae4f8fa17ddcc6b6a52d14df04c29bc5bcd06eb8730624d","README.md":"f89c7768454b0d2b9db816afe05db3a4cea1125bef87f08ed3eefd65e9e2b180","examples/main.rs":"dc2f7f6ba45dcba4e6fe7c8ac100df0c101cb091ddd34f7dfc6599e58cc9e9a7","src/lib.rs":"a9cabe3c0b373f352357745b817f188ab841e9445056014dee9cc83c4d167483","tests/tests.rs":"ab4e6955d2e3bedd003b53b8f3423a6fc48424e37218ca989bf7e0debdf3c3f9"},"package":"bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e"}
|
||||
{"files":{"Cargo.toml":"9fbb5068c3ffbf2c357f4068f854f439bae4999e04527e2dedc6758fa37a9807","LICENSE":"afb11426e09da40a1ae4f8fa17ddcc6b6a52d14df04c29bc5bcd06eb8730624d","README.md":"f89c7768454b0d2b9db816afe05db3a4cea1125bef87f08ed3eefd65e9e2b180","src/lib.rs":"a9cabe3c0b373f352357745b817f188ab841e9445056014dee9cc83c4d167483"},"package":"1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae"}
|
52
third_party/rust/scroll_derive/Cargo.lock
generated
vendored
52
third_party/rust/scroll_derive/Cargo.lock
generated
vendored
@ -1,52 +0,0 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
|
||||
dependencies = [
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "scroll"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fda28d4b4830b807a8b43f7b0e6b5df875311b3e7621d84577188c175b6ec1ec"
|
||||
|
||||
[[package]]
|
||||
name = "scroll_derive"
|
||||
version = "0.11.0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"scroll",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.60"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
|
28
third_party/rust/scroll_derive/Cargo.toml
vendored
28
third_party/rust/scroll_derive/Cargo.toml
vendored
@ -12,17 +12,34 @@
|
||||
[package]
|
||||
edition = "2018"
|
||||
name = "scroll_derive"
|
||||
version = "0.11.0"
|
||||
authors = ["m4b <m4b.github.io@gmail.com>", "Ted Mielczarek <ted@mielczarek.org>", "Systemcluster <me@systemcluster.me>"]
|
||||
version = "0.11.1"
|
||||
authors = [
|
||||
"m4b <m4b.github.io@gmail.com>",
|
||||
"Ted Mielczarek <ted@mielczarek.org>",
|
||||
"Systemcluster <me@systemcluster.me>",
|
||||
]
|
||||
include = [
|
||||
"src/**/*",
|
||||
"Cargo.toml",
|
||||
"LICENSE",
|
||||
"README.md",
|
||||
]
|
||||
description = "A macros 1.1 derive implementation for Pread and Pwrite traits from the scroll crate"
|
||||
documentation = "https://docs.rs/scroll_derive"
|
||||
readme = "README.md"
|
||||
keywords = ["derive", "macros", "pread", "pwrite", "bytes"]
|
||||
keywords = [
|
||||
"derive",
|
||||
"macros",
|
||||
"pread",
|
||||
"pwrite",
|
||||
"bytes",
|
||||
]
|
||||
license = "MIT"
|
||||
repository = "https://github.com/m4b/scroll"
|
||||
|
||||
[lib]
|
||||
proc-macro = true
|
||||
|
||||
[dependencies.proc-macro2]
|
||||
version = "1"
|
||||
|
||||
@ -30,6 +47,7 @@ version = "1"
|
||||
version = "1"
|
||||
|
||||
[dependencies.syn]
|
||||
version = "1"
|
||||
version = "2"
|
||||
|
||||
[dev-dependencies.scroll]
|
||||
version = "0.10"
|
||||
version = "0.11"
|
||||
|
28
third_party/rust/scroll_derive/examples/main.rs
vendored
28
third_party/rust/scroll_derive/examples/main.rs
vendored
@ -1,28 +0,0 @@
|
||||
use scroll_derive::{IOread, IOwrite, Pread, Pwrite, SizeWith};
|
||||
|
||||
#[derive(Debug, PartialEq, Pread, Pwrite, IOread, IOwrite, SizeWith)]
|
||||
#[repr(C)]
|
||||
struct Data {
|
||||
id: u32,
|
||||
timestamp: f64,
|
||||
arr: [u16; 2],
|
||||
}
|
||||
|
||||
use scroll::{Cread, Pread, Pwrite, LE};
|
||||
|
||||
fn main() {
|
||||
let bytes = [
|
||||
0xefu8, 0xbe, 0xad, 0xde, 0, 0, 0, 0, 0, 0, 224, 63, 0xad, 0xde, 0xef, 0xbe,
|
||||
];
|
||||
let data: Data = bytes.pread_with(0, LE).unwrap();
|
||||
println!("data: {:?}", &data);
|
||||
assert_eq!(data.id, 0xdeadbeefu32);
|
||||
let mut bytes2 = vec![0; ::std::mem::size_of::<Data>()];
|
||||
bytes2.pwrite_with(data, 0, LE).unwrap();
|
||||
let data: Data = bytes.pread_with(0, LE).unwrap();
|
||||
let data2: Data = bytes2.pread_with(0, LE).unwrap();
|
||||
assert_eq!(data, data2);
|
||||
|
||||
let data: Data = bytes.cread_with(0, LE);
|
||||
assert_eq!(data, data2);
|
||||
}
|
213
third_party/rust/scroll_derive/tests/tests.rs
vendored
213
third_party/rust/scroll_derive/tests/tests.rs
vendored
@ -1,213 +0,0 @@
|
||||
use scroll::{Cread, Cwrite, Pread, Pwrite, LE};
|
||||
use scroll_derive::{IOread, IOwrite, Pread, Pwrite, SizeWith};
|
||||
|
||||
use scroll::ctx::SizeWith;
|
||||
|
||||
macro_rules! test {
|
||||
( struct $name:ident { $( $field:ident: $t:ty, )* } ) => {
|
||||
// check we can exist inside a macro_rules
|
||||
// https://github.com/m4b/scroll/pull/75
|
||||
#[derive(Pread, Pwrite)]
|
||||
pub struct $name {
|
||||
$( pub $field: $t, )*
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
test! {
|
||||
struct Test {
|
||||
field: [u16; 40],
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Pread, Pwrite)]
|
||||
struct Data {
|
||||
id: u32,
|
||||
timestamp: f64,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_data() {
|
||||
let bytes = [0xefu8, 0xbe, 0xad, 0xde, 0, 0, 0, 0, 0, 0, 224, 63];
|
||||
let data: Data = bytes.pread_with(0, LE).unwrap();
|
||||
println!("data: {:?}", &data);
|
||||
assert_eq!(data.id, 0xdeadbeefu32);
|
||||
assert_eq!(data.timestamp, 0.5f64);
|
||||
let mut bytes2 = vec![0; ::std::mem::size_of::<Data>()];
|
||||
bytes2.pwrite_with(data, 0, LE).unwrap();
|
||||
let data: Data = bytes.pread_with(0, LE).unwrap();
|
||||
let data2: Data = bytes2.pread_with(0, LE).unwrap();
|
||||
assert_eq!(data, data2);
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Pread, Pwrite)]
|
||||
struct Data2 {
|
||||
name: [u8; 32],
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_array() {
|
||||
let bytes = [0u8; 64];
|
||||
let data: Data2 = bytes.pread_with(0, LE).unwrap();
|
||||
println!("data: {:?}", &data);
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Pread, Pwrite, SizeWith)]
|
||||
struct Data3 {
|
||||
name: u32,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_sizewith() {
|
||||
let bytes = [0u8; 64];
|
||||
let data: Data3 = bytes.gread_with(&mut 0, LE).unwrap();
|
||||
println!("data: {:?}", &data);
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, IOread, IOwrite, SizeWith)]
|
||||
struct Data4 {
|
||||
name: u32,
|
||||
j: u16,
|
||||
arr: [u8; 2],
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_ioread() {
|
||||
let bytes = [0, 1, 2, 3, 0xde, 0xed, 0xbe, 0xaf];
|
||||
let data: Data4 = bytes.cread_with(0, LE);
|
||||
println!("data: {:?}", &data);
|
||||
assert_eq!(data.name, 50462976);
|
||||
assert_eq!(data.j, 0xedde);
|
||||
assert_eq!(data.arr, [0xbe, 0xaf]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_iowrite() {
|
||||
let bytes = [0, 1, 2, 3, 0xde, 0xed, 0xbe, 0xaf];
|
||||
let data: Data4 = bytes.cread_with(0, LE);
|
||||
println!("data: {:?}", &data);
|
||||
assert_eq!(data.name, 50462976);
|
||||
assert_eq!(data.j, 0xedde);
|
||||
assert_eq!(data.arr, [0xbe, 0xaf]);
|
||||
|
||||
let mut bytes_null = [0u8; 8];
|
||||
bytes_null.cwrite_with(&data, 0, LE);
|
||||
println!("bytes_null: {:?}", &bytes_null);
|
||||
println!("bytes : {:?}", &bytes);
|
||||
assert_eq!(bytes_null, bytes);
|
||||
|
||||
let mut bytes_null = [0u8; 8];
|
||||
bytes_null.cwrite_with(data, 0, LE);
|
||||
println!("bytes_null: {:?}", &bytes_null);
|
||||
println!("bytes : {:?}", &bytes);
|
||||
assert_eq!(bytes_null, bytes);
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Pread, SizeWith)]
|
||||
#[repr(C)]
|
||||
struct Data5 {
|
||||
name: u32,
|
||||
j: u16,
|
||||
arr1: [u8; 2],
|
||||
arr2: [u16; 2],
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_pread_arrays() {
|
||||
let bytes = [0, 1, 2, 3, 0, 0, 0xde, 0xed, 0xad, 0xde, 0xef, 0xbe];
|
||||
let data: Data5 = bytes.pread_with(0, LE).unwrap();
|
||||
println!("data: {:?}", &data);
|
||||
assert_eq!(data.name, 50462976);
|
||||
assert_eq!(data.arr1, [0xde, 0xed]);
|
||||
assert_eq!(data.arr2, [0xdead, 0xbeef]);
|
||||
let offset = &mut 0;
|
||||
let data: Data5 = bytes.gread_with(offset, LE).unwrap();
|
||||
println!("data: {:?}", &data);
|
||||
assert_eq!(data.name, 50462976);
|
||||
assert_eq!(data.arr1, [0xde, 0xed]);
|
||||
assert_eq!(data.arr2, [0xdead, 0xbeef]);
|
||||
assert_eq!(*offset, ::std::mem::size_of::<Data5>());
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Pread, SizeWith)]
|
||||
#[repr(C)]
|
||||
struct Data6 {
|
||||
id: u32,
|
||||
name: [u8; 5],
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_array_copy() {
|
||||
let bytes = [0xde, 0xed, 0xef, 0xbe, 0x68, 0x65, 0x6c, 0x6c, 0x0];
|
||||
let data: Data6 = bytes.pread_with(0, LE).unwrap();
|
||||
let name: &str = data.name.pread(0).unwrap();
|
||||
println!("data: {:?}", &data);
|
||||
println!("data.name: {:?}", name);
|
||||
assert_eq!(data.id, 0xbeefedde);
|
||||
assert_eq!(name, "hell");
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Eq, Pread, Pwrite, SizeWith)]
|
||||
struct Data7A {
|
||||
pub y: u64,
|
||||
pub x: u32,
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Eq, Pread, Pwrite, SizeWith)]
|
||||
struct Data7B {
|
||||
pub a: Data7A,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_nested_struct() {
|
||||
let b = Data7B {
|
||||
a: Data7A { y: 1, x: 2 },
|
||||
};
|
||||
let size = Data7B::size_with(&LE);
|
||||
assert_eq!(size, 12);
|
||||
let mut bytes = vec![0; size];
|
||||
let written = bytes.pwrite_with(&b, 0, LE).unwrap();
|
||||
assert_eq!(written, size);
|
||||
let mut read = 0;
|
||||
let b2: Data7B = bytes.gread_with(&mut read, LE).unwrap();
|
||||
assert_eq!(read, size);
|
||||
assert_eq!(b, b2);
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Eq, Pread, Pwrite, IOread, IOwrite, SizeWith)]
|
||||
#[repr(C)]
|
||||
struct Data8<T, Y> {
|
||||
ids: [T; 3],
|
||||
xyz: Y,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_generics() {
|
||||
let mut bytes = [0xde, 0xed, 0xef, 0x10, 0x10];
|
||||
let data: Data8<u8, u16> = bytes.pread_with(0, LE).unwrap();
|
||||
assert_eq!(data.ids, [0xde, 0xed, 0xef]);
|
||||
assert_eq!(data.xyz, 0x1010);
|
||||
let data: Data8<u8, u16> = bytes.cread_with(0, LE);
|
||||
assert_eq!(data.ids, [0xde, 0xed, 0xef]);
|
||||
assert_eq!(data.xyz, 0x1010);
|
||||
let size = Data8::<u8, u16>::size_with(&LE);
|
||||
let written = bytes.pwrite_with(&data, 0, LE).unwrap();
|
||||
assert_eq!(written, size);
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq, Eq, Pread, Pwrite, IOread, IOwrite, SizeWith)]
|
||||
struct Data9(u8, u16);
|
||||
|
||||
#[test]
|
||||
fn test_newtype() {
|
||||
let mut bytes = [0xde, 0x10, 0x10];
|
||||
let data: Data9 = bytes.pread_with(0, LE).unwrap();
|
||||
assert_eq!(data.0, 0xde);
|
||||
assert_eq!(data.1, 0x1010);
|
||||
let data: Data9 = bytes.cread_with(0, LE);
|
||||
assert_eq!(data.0, 0xde);
|
||||
assert_eq!(data.1, 0x1010);
|
||||
let size = Data9::size_with(&LE);
|
||||
let written = bytes.pwrite_with(&data, 0, LE).unwrap();
|
||||
assert_eq!(written, size);
|
||||
}
|
Loading…
Reference in New Issue
Block a user