diff --git a/Cargo.lock b/Cargo.lock index 8b2dad5b3e..4d1d1b667f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -79,6 +79,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ba39bdf557eef05f2c1c2e986cbab6b85329b922e7606e5b63ee4c5037ba77a" +[[package]] +name = "embedded-io" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658bbadc628dc286b9ae02f0cb0f5411c056eb7487b72f0083203f115de94060" + [[package]] name = "itertools" version = "0.11.0" @@ -415,6 +421,7 @@ name = "zerocopy" version = "0.8.48" dependencies = [ "elain", + "embedded-io", "itertools", "rand", "regex", diff --git a/Cargo.toml b/Cargo.toml index 90904f93c7..ac58196bc6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -113,6 +113,7 @@ simd = [] simd-nightly = ["simd"] float-nightly = [] std = ["alloc"] +embedded_io = [] # This feature depends on all other features that work on the stable compiler. # We make no stability guarantees about this feature; it may be modified or # removed at any time. @@ -125,6 +126,7 @@ __internal_use_only_features_that_work_on_stable = [ [dependencies] zerocopy-derive = { version = "=0.8.48", path = "zerocopy-derive", optional = true } +embedded-io = { version = "=0.5.0" } # The "associated proc macro pattern" ensures that the versions of zerocopy and # zerocopy-derive remain equal, even if the 'derive' feature isn't used. diff --git a/src/lib.rs b/src/lib.rs index cf6fb4518c..cfb3a36d14 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -5331,6 +5331,50 @@ pub unsafe trait FromBytes: FromZeros { let ptr = unsafe { ptr.assume_validity::() }; let ptr = ptr.as_bytes(); src.read_exact(ptr.as_mut())?; + + // SAFETY: `buf` entirely consists of initialized bytes, and `Self` is + // `FromBytes`. + Ok(unsafe { buf.assume_init() }) + } + + /// Reads a copy of `self` from an `embedded_io::Read`. + /// + #[cfg(feature = "embedded_io")] + #[cfg_attr(doc_cfg, doc(cfg(feature = "embedded_io")))] + #[inline(always)] + fn read_from_embedded_io( + mut src: R, + ) -> core::result::Result> + where + Self: Sized, + R: embedded_io::Read, + { + // Taken from [FromBytes::read_from_io]: + // + // NOTE(#2319, #2320): We do `buf.zero()` separately rather than + // constructing `let buf = CoreMaybeUninit::zeroed()` because, if `Self` + // contains padding bytes, then a typed copy of `CoreMaybeUninit` + // will not necessarily preserve zeros written to those padding byte + // locations, and so `buf` could contain uninitialized bytes. + let mut buf = CoreMaybeUninit::::uninit(); + buf.zero(); + + let ptr = Ptr::from_mut(&mut buf); + // Taken from [FromBytes::read_from_io]: + // + // SAFETY: After `buf.zero()`, `buf` consists entirely of initialized, + // zeroed bytes. Since `MaybeUninit` has no validity requirements, `ptr` + // cannot be used to write values which will violate `buf`'s bit + // validity. Since `ptr` has `Exclusive` aliasing, nothing other than + // `ptr` may be used to mutate `ptr`'s referent, and so its bit validity + // cannot be violated even though `buf` may have more permissive bit + // validity than `ptr`. + let ptr = unsafe { ptr.assume_validity::() }; + let ptr = ptr.as_bytes(); + src.read_exact(ptr.as_mut())?; + + // Taken from [FromBytes::read_from_io]: + // // SAFETY: `buf` entirely consists of initialized bytes, and `Self` is // `FromBytes`. Ok(unsafe { buf.assume_init() }) @@ -6129,6 +6173,59 @@ pub unsafe trait IntoBytes { dst.write_all(self.as_bytes()) } + /// Writes a copy of `self` to an `embedded_io::Write`. + /// + /// This is a shorthand for `dst.write_all(self.as_bytes())`. + /// + /// # Examples + /// + /// ```no_run + /// use zerocopy::{byteorder::big_endian::U16, FromBytes, IntoBytes}; + /// use std::fs::File; + /// use embedded_io::Write; + /// # use zerocopy_derive::*; + /// + /// #[derive(FromBytes, IntoBytes, Immutable, KnownLayout)] + /// #[repr(C, packed)] + /// struct GrayscaleImage { + /// height: U16, + /// width: U16, + /// pixels: [U16], + /// } + /// + /// let image = GrayscaleImage::ref_from_bytes(&[0, 0, 0, 0][..]).unwrap(); + /// let mut file = [0u8; 1024]; + /// image.write_to_embedded_io(&mut file[..]).unwrap(); + /// ``` + /// + /// If the write fails, `write_to_embedded_io` returns `Err` and a partial write may + /// have occurred; e.g.: + /// + /// ``` + /// # use zerocopy::IntoBytes; + /// + /// let src = u128::MAX; + /// let mut dst = [0u8; 2]; + /// + /// let write_result = src.write_to_embedded_io(&mut dst[..]); + /// + /// assert!(write_result.is_err()); + /// assert_eq!(dst, [255, 255]); + /// ``` + #[cfg(feature = "embedded_io")] + #[cfg_attr(doc_cfg, doc(cfg(feature = "embedded_io")))] + #[inline(always)] + fn write_to_embedded_io( + &self, + mut dst: W, + ) -> core::result::Result<(), embedded_io::WriteAllError> + where + Self: Immutable, + W: embedded_io::Write, + { + dst.write_all(self.as_bytes()) + } + #[deprecated(since = "0.8.0", note = "`IntoBytes::as_bytes_mut` was renamed to `as_mut_bytes`")] #[doc(hidden)] #[inline] @@ -7030,6 +7127,56 @@ mod tests { assert!(u32::read_from_io(&short_buffer[..]).is_err()); } + #[test] + #[cfg(feature = "embedded_io")] + fn test_read_write_embedded_io() { + let mut long_buffer = [0, 0, 0, 0]; + assert!(matches!(u16::MAX.write_to_embedded_io(&mut long_buffer[..]), Ok(()))); + assert_eq!(long_buffer, [255, 255, 0, 0]); + assert!(matches!(u16::read_from_embedded_io(&long_buffer[..]), Ok(u16::MAX))); + + let mut short_buffer = [0, 0]; + assert!(u32::MAX.write_to_embedded_io(&mut short_buffer[..]).is_err()); + assert_eq!(short_buffer, [255, 255]); + assert!(u32::read_from_embedded_io(&short_buffer[..]).is_err()); + } + + #[test] + #[cfg(feature = "embedded_io")] + fn test_read_embedded_io_with_padding_soundness() { + // This test is designed to exhibit potential UB in + // `FromBytes::read_from_embedded_io`. (see #2319, #2320). + + // On most platforms (where `align_of::() == 2`), `WithPadding` + // will have inter-field padding between `x` and `y`. + #[derive(FromBytes)] + #[repr(C)] + struct WithPadding { + x: u8, + y: u16, + } + struct ReadsInRead; + impl embedded_io::ErrorType for ReadsInRead { + type Error = embedded_io::ErrorKind; + } + impl embedded_io::Read for ReadsInRead { + fn read(&mut self, buf: &mut [u8]) -> Result { + // This body branches on every byte of `buf`, ensuring that it + // exhibits UB if any byte of `buf` is uninitialized. + if buf.iter().all(|&x| x == 0) { + Ok(buf.len()) + } else { + buf.iter_mut().for_each(|x| *x = 0); + Ok(buf.len()) + } + } + } + assert!(matches!( + WithPadding::read_from_embedded_io(ReadsInRead), + Ok(WithPadding { x: 0, y: 0 }) + )); + } + #[test] fn test_try_from_bytes_try_read_from() { assert_eq!(::try_read_from_bytes(&[0]), Ok(false)); diff --git a/vendor/aho-corasick/.cargo_vcs_info.json b/vendor/aho-corasick/.cargo_vcs_info.json new file mode 100644 index 0000000000..873e57f456 --- /dev/null +++ b/vendor/aho-corasick/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "7e231db4b4ac192ebc674078f2b03cd37b9ed5b9" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/aho-corasick/.github/workflows/ci.yml b/vendor/aho-corasick/.github/workflows/ci.yml new file mode 100644 index 0000000000..f419055368 --- /dev/null +++ b/vendor/aho-corasick/.github/workflows/ci.yml @@ -0,0 +1,110 @@ +name: ci +on: + pull_request: + push: + branches: + - master + schedule: + - cron: '00 01 * * *' +jobs: + test: + name: test + env: + # For some builds, we use cross to test on 32-bit and big-endian + # systems. + CARGO: cargo + # When CARGO is set to CROSS, TARGET is set to `--target matrix.target`. + TARGET: + runs-on: ${{ matrix.os }} + strategy: + matrix: + build: + - pinned + - stable + - stable-32 + - stable-mips + - beta + - nightly + - macos + - win-msvc + - win-gnu + include: + - build: pinned + os: ubuntu-18.04 + rust: 1.41.1 + - build: stable + os: ubuntu-18.04 + rust: stable + - build: stable-32 + os: ubuntu-18.04 + rust: stable + target: i686-unknown-linux-gnu + - build: stable-mips + os: ubuntu-18.04 + rust: stable + target: mips64-unknown-linux-gnuabi64 + - build: beta + os: ubuntu-18.04 + rust: beta + - build: nightly + os: ubuntu-18.04 + rust: nightly + - build: macos + os: macos-latest + rust: stable + - build: win-msvc + os: windows-2019 + rust: stable + - build: win-gnu + os: windows-2019 + rust: stable-x86_64-gnu + steps: + - name: Checkout repository + uses: actions/checkout@v1 + with: + fetch-depth: 1 + - name: Install Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + - name: Use Cross + if: matrix.target != '' + run: | + # We used to install 'cross' from master, but it kept failing. So now + # we build from a known-good version until 'cross' becomes more stable + # or we find an alternative. Notably, between v0.2.1 and current + # master (2022-06-14), the number of Cross's dependencies has doubled. + cargo install --bins --git https://github.com/rust-embedded/cross --tag v0.2.1 + echo "CARGO=cross" >> $GITHUB_ENV + echo "TARGET=--target ${{ matrix.target }}" >> $GITHUB_ENV + - name: Show command used for Cargo + run: | + echo "cargo command is: ${{ env.CARGO }}" + echo "target flag is: ${{ env.TARGET }}" + - name: Show CPU info for debugging + if: matrix.os == 'ubuntu-18.04' + run: lscpu + - run: ${{ env.CARGO }} build --verbose + - run: ${{ env.CARGO }} doc --verbose + - run: ${{ env.CARGO }} test --verbose + - if: matrix.build == 'nightly' + run: ${{ env.CARGO }} build --manifest-path aho-corasick-debug/Cargo.toml + - if: matrix.build == 'nightly' + run: ${{ env.CARGO }} bench --verbose --manifest-path bench/Cargo.toml -- --test + + rustfmt: + name: rustfmt + runs-on: ubuntu-18.04 + steps: + - name: Checkout repository + uses: actions/checkout@v1 + with: + fetch-depth: 1 + - name: Install Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + components: rustfmt + - name: Check formatting + run: | + cargo fmt --all -- --check diff --git a/vendor/aho-corasick/Cargo.toml.orig b/vendor/aho-corasick/Cargo.toml.orig new file mode 100644 index 0000000000..a43e872043 --- /dev/null +++ b/vendor/aho-corasick/Cargo.toml.orig @@ -0,0 +1,38 @@ +[package] +name = "aho-corasick" +version = "0.7.20" #:version +authors = ["Andrew Gallant "] +description = "Fast multiple substring searching." +homepage = "https://github.com/BurntSushi/aho-corasick" +repository = "https://github.com/BurntSushi/aho-corasick" +readme = "README.md" +keywords = ["string", "search", "text", "aho", "multi"] +license = "Unlicense OR MIT" +categories = ["text-processing"] +autotests = false +exclude = ["/aho-corasick-debug"] +edition = "2018" + +[workspace] +members = ["aho-corasick-debug", "bench"] + +[lib] +name = "aho_corasick" + +[features] +default = ["std"] +std = ["memchr/std"] + +[dependencies] +memchr = { version = "2.4.0", default-features = false } + +[dev-dependencies] +# TODO: Re-enable this once the MSRV is 1.43 or greater. +# See: https://github.com/BurntSushi/aho-corasick/issues/62 +# doc-comment = "0.3.1" + +[profile.release] +debug = true + +[profile.bench] +debug = true diff --git a/vendor/autocfg/.cargo_vcs_info.json b/vendor/autocfg/.cargo_vcs_info.json new file mode 100644 index 0000000000..80087c7071 --- /dev/null +++ b/vendor/autocfg/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "d912169ed67977efe5a465269b0e73cb66060c49" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/autocfg/Cargo.toml.orig b/vendor/autocfg/Cargo.toml.orig new file mode 100644 index 0000000000..75b34ea605 --- /dev/null +++ b/vendor/autocfg/Cargo.toml.orig @@ -0,0 +1,15 @@ +[package] +name = "autocfg" +version = "1.5.0" +authors = ["Josh Stone "] +license = "Apache-2.0 OR MIT" +repository = "https://github.com/cuviper/autocfg" +documentation = "https://docs.rs/autocfg/" +description = "Automatic cfg for Rust compiler features" +readme = "README.md" +keywords = ["rustc", "build", "autoconf"] +categories = ["development-tools::build-utils"] +exclude = ["/.github/**"] +rust-version = "1.0" + +[dependencies] diff --git a/vendor/bitflags/.cargo_vcs_info.json b/vendor/bitflags/.cargo_vcs_info.json new file mode 100644 index 0000000000..c4d1f9e963 --- /dev/null +++ b/vendor/bitflags/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "7cc8595e93d04d180d39e2f25242dca85dd71228" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/bitflags/Cargo.toml.orig b/vendor/bitflags/Cargo.toml.orig new file mode 100644 index 0000000000..b13c68d1d0 --- /dev/null +++ b/vendor/bitflags/Cargo.toml.orig @@ -0,0 +1,41 @@ +[package] +name = "bitflags" +# NB: When modifying, also modify the number in readme (for breaking changes) +version = "2.10.0" +edition = "2021" +rust-version = "1.56.0" +authors = ["The Rust Project Developers"] +license = "MIT OR Apache-2.0" +keywords = ["bit", "bitmask", "bitflags", "flags"] +readme = "README.md" +repository = "https://github.com/bitflags/bitflags" +homepage = "https://github.com/bitflags/bitflags" +documentation = "https://docs.rs/bitflags" +categories = ["no-std"] +description = """ +A macro to generate structures which behave like bitflags. +""" +exclude = ["/tests", "/.github"] + +[dependencies] +serde_core = { version = "1.0.228", optional = true, default-features = false } +arbitrary = { version = "1.0", optional = true } +bytemuck = { version = "1.12", optional = true } + +[dev-dependencies] +trybuild = "1.0.18" +rustversion = "1.0" +serde_json = "1.0" +serde_test = "1.0.19" +serde_lib = { version = "1.0.103", features = ["derive"], package = "serde" } +zerocopy = { version = "0.8", features = ["derive"] } +arbitrary = { version = "1.0", features = ["derive"] } +bytemuck = { version = "1.12.2", features = ["derive"] } + +[features] +std = [] +serde = ["serde_core"] +example_generated = [] + +[package.metadata.docs.rs] +features = ["example_generated"] diff --git a/vendor/camino/.cargo_vcs_info.json b/vendor/camino/.cargo_vcs_info.json new file mode 100644 index 0000000000..01c6bd5fe7 --- /dev/null +++ b/vendor/camino/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "e5edcb948d31dc66000a560725ed9f22c98672f3" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/camino/Cargo.lock b/vendor/camino/Cargo.lock new file mode 100644 index 0000000000..7dd38f182f --- /dev/null +++ b/vendor/camino/Cargo.lock @@ -0,0 +1,443 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde 1.0.219 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bit-vec 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bitflags" +version = "2.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "camino" +version = "1.1.12" +dependencies = [ + "bincode 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "proptest 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.219 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_bytes 0.11.17 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.219 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "cfg-if" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "errno" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.175 (registry+https://github.com/rust-lang/crates.io-index)", + "windows-sys 0.60.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.175 (registry+https://github.com/rust-lang/crates.io-index)", + "r-efi 5.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasi 0.14.2+wasi-0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.175" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "linux-raw-sys" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "zerocopy 0.8.26 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "proc-macro2" +version = "1.0.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-ident 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "proptest" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bit-set 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bit-vec 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 2.9.3 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_chacha 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_xorshift 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)", + "rusty-fork 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tempfile 3.21.0 (registry+https://github.com/rust-lang/crates.io-index)", + "unarray 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_chacha 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ppv-lite86 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "getrandom 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_xorshift" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rustix" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 2.9.3 (registry+https://github.com/rust-lang/crates.io-index)", + "errno 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.175 (registry+https://github.com/rust-lang/crates.io-index)", + "linux-raw-sys 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)", + "windows-sys 0.60.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fnv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", + "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tempfile 3.21.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wait-timeout 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde_derive 1.0.219 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_bytes" +version = "0.11.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde 1.0.219 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.106 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "syn" +version = "2.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-ident 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tempfile" +version = "3.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fastrand 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "once_cell 1.21.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rustix 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "windows-sys 0.60.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "wait-timeout" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.175 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "wit-bindgen-rt 0.39.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "windows-targets 0.53.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "windows-targets" +version = "0.53.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "windows-link 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "windows_aarch64_gnullvm 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)", + "windows_aarch64_msvc 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)", + "windows_i686_gnu 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)", + "windows_i686_gnullvm 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)", + "windows_i686_msvc 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)", + "windows_x86_64_gnu 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)", + "windows_x86_64_gnullvm 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)", + "windows_x86_64_msvc 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 2.9.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "zerocopy" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "zerocopy-derive 0.8.26 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.106 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[metadata] +"checksum autocfg 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +"checksum bincode 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +"checksum bit-set 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +"checksum bit-vec 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" +"checksum bitflags 2.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" +"checksum cfg-if 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" +"checksum errno 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +"checksum fastrand 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +"checksum fnv 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +"checksum getrandom 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +"checksum lazy_static 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +"checksum libc 0.2.175 (registry+https://github.com/rust-lang/crates.io-index)" = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" +"checksum linux-raw-sys 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +"checksum num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +"checksum once_cell 1.21.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +"checksum ppv-lite86 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +"checksum proc-macro2 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +"checksum proptest 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" +"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +"checksum quote 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +"checksum r-efi 5.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +"checksum rand 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +"checksum rand_chacha 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +"checksum rand_core 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +"checksum rand_xorshift 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" +"checksum regex-syntax 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +"checksum rustix 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" +"checksum rusty-fork 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +"checksum serde 1.0.219 (registry+https://github.com/rust-lang/crates.io-index)" = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +"checksum serde_bytes 0.11.17 (registry+https://github.com/rust-lang/crates.io-index)" = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +"checksum serde_derive 1.0.219 (registry+https://github.com/rust-lang/crates.io-index)" = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +"checksum syn 2.0.106 (registry+https://github.com/rust-lang/crates.io-index)" = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +"checksum tempfile 3.21.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" +"checksum unarray 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" +"checksum unicode-ident 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +"checksum wait-timeout 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +"checksum wasi 0.14.2+wasi-0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +"checksum windows-link 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +"checksum windows-sys 0.60.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +"checksum windows-targets 0.53.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" +"checksum windows_aarch64_gnullvm 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)" = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +"checksum windows_aarch64_msvc 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +"checksum windows_i686_gnu 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" +"checksum windows_i686_gnullvm 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +"checksum windows_i686_msvc 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)" = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +"checksum windows_x86_64_gnu 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +"checksum windows_x86_64_gnullvm 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +"checksum windows_x86_64_msvc 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)" = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +"checksum wit-bindgen-rt 0.39.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +"checksum zerocopy 0.8.26 (registry+https://github.com/rust-lang/crates.io-index)" = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +"checksum zerocopy-derive 0.8.26 (registry+https://github.com/rust-lang/crates.io-index)" = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" diff --git a/vendor/camino/Cargo.toml.orig b/vendor/camino/Cargo.toml.orig new file mode 100644 index 0000000000..aa13713dac --- /dev/null +++ b/vendor/camino/Cargo.toml.orig @@ -0,0 +1,39 @@ +[workspace] +members = ["."] + +[package] +name = "camino" +description = "UTF-8 paths" +version = "1.1.12" +license = "MIT OR Apache-2.0" +readme = "README.md" +rust-version = "1.34.0" +keywords = ["paths", "utf8", "unicode", "filesystem"] +categories = ["development-tools", "filesystem", "os"] +repository = "https://github.com/camino-rs/camino" +documentation = "https://docs.rs/camino" +authors = [ + "Without Boats ", + "Ashley Williams ", + "Steve Klabnik ", + "Rain ", +] +edition = "2018" +exclude = [".cargo/**/*", ".github/**/*"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg=doc_cfg"] + +[dependencies] +proptest = { version = "1.0.0", optional = true } +serde = { version = "1", optional = true } + +[dev-dependencies] +bincode = "1" +serde_bytes = "0.11.8" +serde_derive = "1" + +[features] +serde1 = ["serde"] +proptest1 = ["proptest"] diff --git a/vendor/cargo-platform/.cargo_vcs_info.json b/vendor/cargo-platform/.cargo_vcs_info.json new file mode 100644 index 0000000000..5f45bec256 --- /dev/null +++ b/vendor/cargo-platform/.cargo_vcs_info.json @@ -0,0 +1,5 @@ +{ + "git": { + "sha1": "981508778c4fac545eda4d517b9d6ddf48ed6636" + } +} diff --git a/vendor/cargo-platform/Cargo.toml.orig b/vendor/cargo-platform/Cargo.toml.orig new file mode 100644 index 0000000000..2b5e86e992 --- /dev/null +++ b/vendor/cargo-platform/Cargo.toml.orig @@ -0,0 +1,13 @@ +[package] +name = "cargo-platform" +version = "0.1.2" +authors = ["The Cargo Project Developers"] +edition = "2018" +license = "MIT OR Apache-2.0" +homepage = "https://github.com/rust-lang/cargo" +repository = "https://github.com/rust-lang/cargo" +documentation = "https://docs.rs/cargo-platform" +description = "Cargo's representation of a target platform." + +[dependencies] +serde = { version = "1.0.82", features = ['derive'] } diff --git a/vendor/cargo_metadata/.cargo_vcs_info.json b/vendor/cargo_metadata/.cargo_vcs_info.json new file mode 100644 index 0000000000..02d524aa1c --- /dev/null +++ b/vendor/cargo_metadata/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "5b794f826a86edbf860c473cad3ba597b4b9a172" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/cargo_metadata/.github/workflows/main.yml b/vendor/cargo_metadata/.github/workflows/main.yml new file mode 100644 index 0000000000..27c8c4e426 --- /dev/null +++ b/vendor/cargo_metadata/.github/workflows/main.yml @@ -0,0 +1,46 @@ +name: CI +on: [push, pull_request] + +jobs: + rustfmt: + name: rustfmt + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install rust + run: rustup update --no-self-update stable && rustup default stable + - name: Check formatting + run: cargo fmt -- --check + + clippy: + name: clippy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install rust + run: rustup update --no-self-update stable && rustup default stable + - name: Clippy check + run: cargo clippy --all-features -- -Dwarnings + + test: + name: Test + runs-on: ubuntu-latest + strategy: + matrix: + include: + - rust: stable + - rust: beta + - rust: nightly + - rust: 1.56.0 + steps: + - uses: actions/checkout@v2 + - name: Install rust + run: rustup update --no-self-update ${{ matrix.rust }} && rustup default ${{ matrix.rust }} + - name: Run tests + run: | + cargo build --verbose + cargo build --verbose --no-default-features + cargo test --verbose + cargo test --verbose --no-default-features + cargo test --verbose --all-features + diff --git a/vendor/cargo_metadata/.github/workflows/release.yml b/vendor/cargo_metadata/.github/workflows/release.yml new file mode 100644 index 0000000000..1b2d7a7b7f --- /dev/null +++ b/vendor/cargo_metadata/.github/workflows/release.yml @@ -0,0 +1,72 @@ +name: Release new version + +on: + workflow_dispatch: + secrets: + CARGO_REGISTRY_TOKEN: + required: true + +env: + RUST_BACKTRACE: 1 + CARGO_TERM_COLOR: always + +jobs: + create-release: + name: Create release + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/main' + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + persist-credentials: true + + - name: Install rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + + - uses: Swatinem/rust-cache@v2 + + # Determine which version we're about to publish, so we can tag it appropriately. + # If the tag already exists, then we've already published this version. + - name: Determine current version + id: version-check + run: | + # Fail on first error, on undefined variables, and on errors in pipes. + set -euo pipefail + export VERSION="$(cargo metadata --format-version 1 | \ + jq --arg crate_name cargo_metadata --exit-status -r \ + '.packages[] | select(.name == $crate_name) | .version')" + echo "version=$VERSION" >> $GITHUB_OUTPUT + if [[ "$(git tag -l "$VERSION")" != '' ]]; then + echo "Aborting: Version $VERSION is already published, we found its tag in the repo." + exit 1 + fi + + - name: Semver-check + uses: obi1kenobi/cargo-semver-checks-action@v2 + with: + rust-toolchain: manual # we've already installed Rust, don't install a new one + + - name: Publish + run: cargo publish + env: + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + + - name: Tag the version + run: | + # Fail on first error, on undefined variables, and on errors in pipes. + set -euo pipefail + git tag "${{ steps.version-check.outputs.version }}" + git push origin "${{ steps.version-check.outputs.version }}" + + - uses: taiki-e/create-gh-release-action@v1 + name: Create GitHub release + with: + branch: main + ref: refs/tags/${{ steps.version-check.outputs.version }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/vendor/cargo_metadata/Cargo.toml.orig b/vendor/cargo_metadata/Cargo.toml.orig new file mode 100644 index 0000000000..8138918a38 --- /dev/null +++ b/vendor/cargo_metadata/Cargo.toml.orig @@ -0,0 +1,28 @@ +[package] +name = "cargo_metadata" +version = "0.18.1" +authors = ["Oliver Schneider "] +repository = "https://github.com/oli-obk/cargo_metadata" +description = "structured access to the output of `cargo metadata`" +license = "MIT" +readme = "README.md" +edition = "2018" +rust-version = "1.56.0" + +[dependencies] +camino = { version = "1.0.7", features = ["serde1"] } +cargo-platform = "0.1.2" +derive_builder = { version = "0.12", optional = true } +semver = { version = "1.0.7", features = ["serde"] } +serde = { version = "1.0.136", features = ["derive"] } +serde_json = { version = "1.0.79", features = ["unbounded_depth"] } +thiserror = "1.0.31" + +[features] +default = [] +builder = ["derive_builder"] +unstable = [] + +[package.metadata.cargo_metadata_test] +some_field = true +other_field = "foo" diff --git a/vendor/cfg-if/.cargo_vcs_info.json b/vendor/cfg-if/.cargo_vcs_info.json new file mode 100644 index 0000000000..d4bec315ac --- /dev/null +++ b/vendor/cfg-if/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "3510ca6abea34cbbc702509a4e50ea9709925eda" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/cfg-if/.github/dependabot.yml b/vendor/cfg-if/.github/dependabot.yml new file mode 100644 index 0000000000..36e4ff0636 --- /dev/null +++ b/vendor/cfg-if/.github/dependabot.yml @@ -0,0 +1,14 @@ +version: 2 +updates: + - package-ecosystem: cargo + directory: "/" + schedule: + interval: daily + time: "08:00" + open-pull-requests-limit: 10 + + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + open-pull-requests-limit: 3 diff --git a/vendor/cfg-if/.github/workflows/main.yaml b/vendor/cfg-if/.github/workflows/main.yaml new file mode 100644 index 0000000000..7288a62d25 --- /dev/null +++ b/vendor/cfg-if/.github/workflows/main.yaml @@ -0,0 +1,48 @@ +name: CI +on: [push, pull_request] + +permissions: + contents: read + +env: + RUSTDOCFLAGS: -Dwarnings + RUSTFLAGS: -Dwarnings + +jobs: + test: + name: Test + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - "1.32" # msrv + - stable + - beta + - nightly + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Install Rust ${{ matrix.rust }} + run: | + rustup self update + rustup update ${{ matrix.rust }} + rustup default ${{ matrix.rust }} + rustc -vV + - name: Run tests + run: | + set -eux + # Remove `-Dwarnings` at the MSRV since lints may be different + [ "${{ matrix.rust }}" = "1.32" ] && export RUSTFLAGS="--cfg msrv_test" + cargo test + + rustfmt: + name: Rustfmt + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Install Rust Stable + run: | + rustup update stable + rustup default stable + rustup component add rustfmt + - name: Run rustfmt + run: cargo fmt -- --check diff --git a/vendor/cfg-if/.github/workflows/publish.yaml b/vendor/cfg-if/.github/workflows/publish.yaml new file mode 100644 index 0000000000..248e3ccdd9 --- /dev/null +++ b/vendor/cfg-if/.github/workflows/publish.yaml @@ -0,0 +1,25 @@ +name: Release-plz + +permissions: + pull-requests: write + contents: write + +on: + push: { branches: [main] } + +jobs: + release-plz: + name: Release-plz + runs-on: ubuntu-24.04 + steps: + - name: Checkout repository + uses: actions/checkout@v5 + with: + fetch-depth: 0 + - name: Install Rust (rustup) + run: rustup update nightly --no-self-update && rustup default nightly + - name: Run release-plz + uses: MarcoIeni/release-plz-action@v0.5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} diff --git a/vendor/cfg-if/Cargo.lock b/vendor/cfg-if/Cargo.lock new file mode 100644 index 0000000000..5716679674 --- /dev/null +++ b/vendor/cfg-if/Cargo.lock @@ -0,0 +1,16 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "cfg-if" +version = "1.0.4" +dependencies = [ + "rustc-std-workspace-core 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc-std-workspace-core" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum rustc-std-workspace-core 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa9c45b374136f52f2d6311062c7146bff20fec063c3f5d46a410bd937746955" diff --git a/vendor/cfg-if/Cargo.toml.orig b/vendor/cfg-if/Cargo.toml.orig new file mode 100644 index 0000000000..6a98924eae --- /dev/null +++ b/vendor/cfg-if/Cargo.toml.orig @@ -0,0 +1,20 @@ +[package] +name = "cfg-if" +version = "1.0.4" +authors = ["Alex Crichton "] +license = "MIT OR Apache-2.0" +readme = "README.md" +repository = "https://github.com/rust-lang/cfg-if" +description = """ +A macro to ergonomically define an item depending on a large number of #[cfg] +parameters. Structured like an if-else chain, the first matching branch is the +item that gets emitted. +""" +edition = "2018" +rust-version = "1.32" + +[dependencies] +core = { version = "1.0.0", optional = true, package = "rustc-std-workspace-core" } + +[features] +rustc-dep-of-std = ["core"] diff --git a/vendor/dissimilar/.cargo_vcs_info.json b/vendor/dissimilar/.cargo_vcs_info.json new file mode 100644 index 0000000000..834415160a --- /dev/null +++ b/vendor/dissimilar/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "fcc4cc26fedf5855bd657a89317fba7bd72cb521" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/dissimilar/.github/FUNDING.yml b/vendor/dissimilar/.github/FUNDING.yml new file mode 100644 index 0000000000..750707701c --- /dev/null +++ b/vendor/dissimilar/.github/FUNDING.yml @@ -0,0 +1 @@ +github: dtolnay diff --git a/vendor/dissimilar/.github/workflows/ci.yml b/vendor/dissimilar/.github/workflows/ci.yml new file mode 100644 index 0000000000..3e3ca98950 --- /dev/null +++ b/vendor/dissimilar/.github/workflows/ci.yml @@ -0,0 +1,100 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + pre_ci: + uses: dtolnay/.github/.github/workflows/pre_ci.yml@master + + test: + name: Rust ${{matrix.rust}} + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [nightly, beta, stable] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + - name: Enable type layout randomization + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - run: cargo test + - run: cargo test --benches --release + if: matrix.rust == 'nightly' + + msrv: + name: Rust 1.36.0 + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@1.36.0 + - run: cargo check + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + fuzz: + name: Fuzz + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-fuzz + - run: cargo fuzz check + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@clippy + - run: cargo clippy --tests --benches -- -Dclippy::all -Dclippy::pedantic + + miri: + name: Miri + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@miri + - run: cargo miri setup + - run: cargo miri test + env: + MIRIFLAGS: -Zmiri-strict-provenance diff --git a/vendor/dissimilar/Cargo.lock b/vendor/dissimilar/Cargo.lock new file mode 100644 index 0000000000..7cb4b74d0d --- /dev/null +++ b/vendor/dissimilar/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "dissimilar" +version = "1.0.10" diff --git a/vendor/dissimilar/Cargo.toml.orig b/vendor/dissimilar/Cargo.toml.orig new file mode 100644 index 0000000000..2bc490fb35 --- /dev/null +++ b/vendor/dissimilar/Cargo.toml.orig @@ -0,0 +1,21 @@ +[package] +name = "dissimilar" +version = "1.0.10" +authors = ["David Tolnay "] +categories = ["algorithms", "text-processing"] +description = "Diff library with semantic cleanup, based on Google's diff-match-patch" +documentation = "https://docs.rs/dissimilar" +edition = "2018" +keywords = ["diff"] +license = "Apache-2.0" # See the readme. The whole crate is Apache licensed. Some parts are additionally MIT licensed. +repository = "https://github.com/dtolnay/dissimilar" +rust-version = "1.36" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = [ + "--generate-link-to-definition", + "--extern-html-root-url=core=https://doc.rust-lang.org", + "--extern-html-root-url=alloc=https://doc.rust-lang.org", + "--extern-html-root-url=std=https://doc.rust-lang.org", +] diff --git a/vendor/either/.cargo_vcs_info.json b/vendor/either/.cargo_vcs_info.json new file mode 100644 index 0000000000..2d28110be3 --- /dev/null +++ b/vendor/either/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "e3ec2506f97ab27df3fbb284a3459280cb692c97" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/either/.github/workflows/ci.yml b/vendor/either/.github/workflows/ci.yml new file mode 100644 index 0000000000..92c81f624d --- /dev/null +++ b/vendor/either/.github/workflows/ci.yml @@ -0,0 +1,92 @@ +on: + push: + branches: [ main ] + pull_request: + merge_group: + +name: CI + +jobs: + ci: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: + - 1.37.0 # MSRV + - stable + - beta + - nightly + features: + - "" + - "serde" + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Cache the registry + uses: actions/cache@v4 + if: startsWith(matrix.rust, '1') + with: + path: ~/.cargo/registry/index + key: cargo-${{ matrix.rust }}-git-index + + - name: Set up Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + + - name: MSRV dependencies + if: matrix.rust == '1.37.0' + run: | + cargo generate-lockfile + cargo update -p serde_json --precise 1.0.99 + cargo update -p serde --precise 1.0.156 + cargo update -p quote --precise 1.0.30 + cargo update -p proc-macro2 --precise 1.0.65 + + - name: Build (no_std) + run: cargo build --no-default-features + + - name: Build + run: cargo build --features "${{ matrix.features }}" + + - name: Test + run: cargo test --features "${{ matrix.features }}" + + - name: Doc + run: cargo doc --features "${{ matrix.features }}" + + clippy: + name: Rustfmt and Clippy + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up nightly Rust + uses: dtolnay/rust-toolchain@nightly + with: + components: rustfmt, clippy + + - name: Rustfmt + run: cargo fmt --all -- --check + + - name: Clippy + run: cargo clippy # -- -D warnings + + # One job that "summarizes" the success state of this pipeline. This can then be added to branch + # protection, rather than having to add each job separately. + success: + name: Success + runs-on: ubuntu-latest + needs: [ci, clippy] + # Github branch protection is exceedingly silly and treats "jobs skipped because a dependency + # failed" as success. So we have to do some contortions to ensure the job fails if any of its + # dependencies fails. + if: always() # make sure this is never "skipped" + steps: + # Manually check the status of all dependencies. `if: failure()` does not work. + - name: check if any dependency failed + run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}' diff --git a/vendor/either/Cargo.toml.orig b/vendor/either/Cargo.toml.orig new file mode 100644 index 0000000000..e7f53955b3 --- /dev/null +++ b/vendor/either/Cargo.toml.orig @@ -0,0 +1,38 @@ +[package] +name = "either" +version = "1.13.0" +authors = ["bluss"] +edition = "2018" +rust-version = "1.37" + +license = "MIT OR Apache-2.0" +repository = "https://github.com/rayon-rs/either" +documentation = "https://docs.rs/either/1/" +readme = "README-crates.io.md" + +description = """ +The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases. +""" + +keywords = ["data-structure", "no_std"] +categories = ["data-structures", "no-std"] + +[dependencies] +serde = { version = "1.0", optional = true, features = ["derive"] } + +[features] +default = ["use_std"] +use_std = [] + +[dev-dependencies] +serde_json = "1.0.0" + +[package.metadata.release] +no-dev-version = true +tag-name = "{{version}}" + +[package.metadata.docs.rs] +features = ["serde"] + +[package.metadata.playground] +features = ["serde"] diff --git a/vendor/elain/.cargo_vcs_info.json b/vendor/elain/.cargo_vcs_info.json new file mode 100644 index 0000000000..1c863fe4d8 --- /dev/null +++ b/vendor/elain/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "a28dc120e15b915502241eab078984b1315eb9aa" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/elain/Cargo.toml.orig b/vendor/elain/Cargo.toml.orig new file mode 100644 index 0000000000..9f89b5bd0e --- /dev/null +++ b/vendor/elain/Cargo.toml.orig @@ -0,0 +1,11 @@ +[package] +name = "elain" +version = "0.3.1" +authors = ["Jack Wrenn "] +edition = "2018" +description = "Set a type's minimum alignment with const generics." +license = "MIT OR Apache-2.0" +readme = "README.md" +categories = ["no-std", "rust-patterns"] +keywords = ["const", "const-generics", "alignment", "align", "layout"] +repository = "https://github.com/jswrenn/elain" diff --git a/vendor/embedded-io/.cargo-checksum.json b/vendor/embedded-io/.cargo-checksum.json new file mode 100644 index 0000000000..58ab906b45 --- /dev/null +++ b/vendor/embedded-io/.cargo-checksum.json @@ -0,0 +1 @@ +{"files":{".cargo_vcs_info.json":"09428a579384fdbabbba182d66bb61a96db96c23779819e673eb738b9e7edf2d","CHANGELOG.md":"b650d3d1e8bd1b84fdf719e3d27ffa8c28a4628636f7238912bc2214e7643555","Cargo.toml":"b15e3cf3c69651a3771cd5e5e4bb96f8e407f4a9926e672252a79e5397ae7eca","Cargo.toml.orig":"78b996ca306b668b84a5e2385ab47336720740614853c64ee282ffe6c04ed743","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"47674f8b7d98c232c6f81346c4cfe48933d913a9e257d7a522ad9f42e3dd61e1","README.md":"6197ee96766624bd917574a37df91ce62be37015bd59a1be39c653da12646868","src/impls/boxx.rs":"929b293ed5f618bf5d8b813704e20ff8e27523f69aeeba8bdd613cc8150e474c","src/impls/mod.rs":"f7bd7d91e7b9a39347af01b625e8cc8980ef7e5f3f3217053bfb92b8cdc7c3e6","src/impls/slice_mut.rs":"adc1e4b44ea22e10dfd298737ce6338106cf2e34782016bdc3981f00703352e9","src/impls/slice_ref.rs":"634531f47ebbb9e60cac801699e826d20dc495c50fd9d051e27dcff5d6b7cbcd","src/impls/vec.rs":"2b5b2ed982f00d5bde7a3773b282e37c09722895ce915102cc8ccd78e391e866","src/lib.rs":"8bab07db4cf7760ee0fca8482c4e953ec85ff4d949ac197538aaf5a5dd7fa4e5"},"package":"658bbadc628dc286b9ae02f0cb0f5411c056eb7487b72f0083203f115de94060"} \ No newline at end of file diff --git a/vendor/embedded-io/.cargo_vcs_info.json b/vendor/embedded-io/.cargo_vcs_info.json new file mode 100644 index 0000000000..a4b70c895c --- /dev/null +++ b/vendor/embedded-io/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "6d8393937a38e2ead1957ce197564451185b6dad" + }, + "path_in_vcs": "embedded-io" +} \ No newline at end of file diff --git a/vendor/embedded-io/CHANGELOG.md b/vendor/embedded-io/CHANGELOG.md new file mode 100644 index 0000000000..e042a72394 --- /dev/null +++ b/vendor/embedded-io/CHANGELOG.md @@ -0,0 +1,39 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.5.0 - 2023-08-06 + +- Add `ReadReady`, `WriteReady` traits. They allow peeking whether the I/O handle is ready to read/write, so they allow using the traits in a non-blocking way. +- Add variants to `ErrorKind` mirroring `std::io::ErrorKind`. +- Add `From` impls to convert between `ErrorKind` and `std::io::ErrorKind`. +- Moved `embedded_io::blocking` to the crate root. +- Split async traits to the `embedded-io-async` crate. +- Split trait adapters to the `embedded-io-adapters` crate. +- Add `std::error` impls for `ReadExactError` & `WriteAllError`. +- Rename trait `Io` to `ErrorKind`, for consistency with `embedded-hal`. + +## 0.4.0 - 2022-11-25 + +- Switch all traits to use [`async_fn_in_trait`](https://blog.rust-lang.org/inside-rust/2022/11/17/async-fn-in-trait-nightly.html) (AFIT). Requires `nightly-2022-11-22` or newer. + +## 0.3.1 - 2022-10-26 + +- Fix compilation on recent nightlies (#5) + +## 0.3.0 - 2022-05-19 + +- `FromFutures` adapter now requires `futures` Cargo feature. (breaking change) +- Add `FromTokio` adapter. +- Add blanket impls for `&mut T`, `Box`. +- Add impl `Read`, `BufRead` for `&[u8]` +- Add impl `Write` for `&mut [u8]` +- Add impl `Write` for `Vec` +- impl `std::error::Error` for `ReadExactError`, `WriteFmtError`. + +## 0.2.0 - 2022-05-07 + +- First release \ No newline at end of file diff --git a/vendor/embedded-io/Cargo.toml b/vendor/embedded-io/Cargo.toml new file mode 100644 index 0000000000..ca7bb0f3c0 --- /dev/null +++ b/vendor/embedded-io/Cargo.toml @@ -0,0 +1,39 @@ +# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO +# +# When uploading crates to the registry Cargo will automatically +# "normalize" Cargo.toml files for maximal compatibility +# with all versions of Cargo and also rewrite `path` dependencies +# to registry (e.g., crates.io) dependencies. +# +# If you are reading this file be aware that the original Cargo.toml +# will likely look very different (and much more reasonable). +# See Cargo.toml.orig for the original contents. + +[package] +edition = "2021" +name = "embedded-io" +version = "0.5.0" +description = "Embedded IO traits" +readme = "README.md" +categories = [ + "embedded", + "no-std", +] +license = "MIT OR Apache-2.0" +repository = "https://github.com/rust-embedded/embedded-hal" + +[package.metadata.docs.rs] +features = ["std"] +rustdoc-args = [ + "--cfg", + "docsrs", +] + +[dependencies.defmt-03] +version = "0.3" +optional = true +package = "defmt" + +[features] +alloc = [] +std = ["alloc"] diff --git a/vendor/embedded-io/Cargo.toml.orig b/vendor/embedded-io/Cargo.toml.orig new file mode 100644 index 0000000000..a7ca732f32 --- /dev/null +++ b/vendor/embedded-io/Cargo.toml.orig @@ -0,0 +1,23 @@ +[package] +name = "embedded-io" +version = "0.5.0" +edition = "2021" +description = "Embedded IO traits" +repository = "https://github.com/rust-embedded/embedded-hal" +readme = "README.md" +license = "MIT OR Apache-2.0" +categories = [ + "embedded", + "no-std", +] + +[features] +std = ["alloc"] +alloc = [] + +[dependencies] +defmt-03 = { package = "defmt", version = "0.3", optional = true } + +[package.metadata.docs.rs] +features = ["std"] +rustdoc-args = ["--cfg", "docsrs"] diff --git a/vendor/embedded-io/LICENSE-APACHE b/vendor/embedded-io/LICENSE-APACHE new file mode 100644 index 0000000000..16fe87b06e --- /dev/null +++ b/vendor/embedded-io/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/embedded-io/LICENSE-MIT b/vendor/embedded-io/LICENSE-MIT new file mode 100644 index 0000000000..e00608fbda --- /dev/null +++ b/vendor/embedded-io/LICENSE-MIT @@ -0,0 +1,25 @@ +Copyright (c) 2023 The embedded-io authors + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/vendor/embedded-io/README.md b/vendor/embedded-io/README.md new file mode 100644 index 0000000000..3318daa2b0 --- /dev/null +++ b/vendor/embedded-io/README.md @@ -0,0 +1,43 @@ +[![crates.io](https://img.shields.io/crates/d/embedded-io.svg)](https://crates.io/crates/embedded-io) +[![crates.io](https://img.shields.io/crates/v/embedded-io.svg)](https://crates.io/crates/embedded-io) +[![Documentation](https://docs.rs/embedded-io/badge.svg)](https://docs.rs/embedded-io) + +# `embedded-io` + +This project is developed and maintained by the [HAL team](https://github.com/rust-embedded/wg#the-hal-team). + +Input/Output traits for embedded systems. + +Rust's `std::io` traits are not available in `no_std` targets, mainly because `std::io::Error` +requires allocation. This crate contains replacement equivalent traits, usable in `no_std` +targets. + +## Differences with `std::io` + +- `Error` is an associated type. This allows each implementor to return its own error type, +while avoiding `dyn` or `Box`. This is consistent with how errors are handled in [`embedded-hal`](https://github.com/rust-embedded/embedded-hal/). +- In `std::io`, the `Read`/`Write` traits might be blocking or non-blocking (i.e. returning `WouldBlock` errors) depending on the file descriptor's mode, which is only known at run-time. This allows passing a non-blocking stream to code that expects a blocking +stream, causing unexpected errors. To solve this, `embedded-io` specifies `Read`/`Write` are always blocking, and adds new `ReadReady`/`WriteReady` traits to allow using streams in a non-blocking way. + +## Minimum Supported Rust Version (MSRV) + +This crate is guaranteed to compile on stable Rust 1.60 and up. It *might* +compile with older versions but that may change in any new patch release. + +See [here](../docs/msrv.md) for details on how the MSRV may be upgraded. + +## License + +Licensed under either of + +- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or + ) +- MIT license ([LICENSE-MIT](LICENSE-MIT) or ) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. diff --git a/vendor/embedded-io/src/impls/boxx.rs b/vendor/embedded-io/src/impls/boxx.rs new file mode 100644 index 0000000000..6e61ebf8d4 --- /dev/null +++ b/vendor/embedded-io/src/impls/boxx.rs @@ -0,0 +1,63 @@ +use crate::{BufRead, ErrorType, Read, ReadReady, Seek, Write, WriteReady}; +use alloc::boxed::Box; + +#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))] +impl ErrorType for Box { + type Error = T::Error; +} + +#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))] +impl Read for Box { + #[inline] + fn read(&mut self, buf: &mut [u8]) -> Result { + T::read(self, buf) + } +} + +#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))] +impl BufRead for Box { + fn fill_buf(&mut self) -> Result<&[u8], Self::Error> { + T::fill_buf(self) + } + + fn consume(&mut self, amt: usize) { + T::consume(self, amt) + } +} + +#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))] +impl Write for Box { + #[inline] + fn write(&mut self, buf: &[u8]) -> Result { + T::write(self, buf) + } + + #[inline] + fn flush(&mut self) -> Result<(), Self::Error> { + T::flush(self) + } +} + +#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))] +impl Seek for Box { + #[inline] + fn seek(&mut self, pos: crate::SeekFrom) -> Result { + T::seek(self, pos) + } +} + +#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))] +impl ReadReady for Box { + #[inline] + fn read_ready(&mut self) -> Result { + T::read_ready(self) + } +} + +#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))] +impl WriteReady for Box { + #[inline] + fn write_ready(&mut self) -> Result { + T::write_ready(self) + } +} diff --git a/vendor/embedded-io/src/impls/mod.rs b/vendor/embedded-io/src/impls/mod.rs new file mode 100644 index 0000000000..e79b9b8bfa --- /dev/null +++ b/vendor/embedded-io/src/impls/mod.rs @@ -0,0 +1,7 @@ +mod slice_mut; +mod slice_ref; + +#[cfg(feature = "alloc")] +mod boxx; +#[cfg(feature = "alloc")] +mod vec; diff --git a/vendor/embedded-io/src/impls/slice_mut.rs b/vendor/embedded-io/src/impls/slice_mut.rs new file mode 100644 index 0000000000..b89b721820 --- /dev/null +++ b/vendor/embedded-io/src/impls/slice_mut.rs @@ -0,0 +1,31 @@ +use crate::{ErrorType, Write}; +use core::mem; + +impl ErrorType for &mut [u8] { + type Error = core::convert::Infallible; +} + +/// Write is implemented for `&mut [u8]` by copying into the slice, overwriting +/// its data. +/// +/// Note that writing updates the slice to point to the yet unwritten part. +/// The slice will be empty when it has been completely overwritten. +/// +/// If the number of bytes to be written exceeds the size of the slice, write operations will +/// return short writes: ultimately, `Ok(0)`; in this situation, `write_all` returns an error of +/// kind `ErrorKind::WriteZero`. +impl Write for &mut [u8] { + #[inline] + fn write(&mut self, buf: &[u8]) -> Result { + let amt = core::cmp::min(buf.len(), self.len()); + let (a, b) = mem::take(self).split_at_mut(amt); + a.copy_from_slice(&buf[..amt]); + *self = b; + Ok(amt) + } + + #[inline] + fn flush(&mut self) -> Result<(), Self::Error> { + Ok(()) + } +} diff --git a/vendor/embedded-io/src/impls/slice_ref.rs b/vendor/embedded-io/src/impls/slice_ref.rs new file mode 100644 index 0000000000..6332d70dd1 --- /dev/null +++ b/vendor/embedded-io/src/impls/slice_ref.rs @@ -0,0 +1,41 @@ +use crate::{BufRead, ErrorType, Read}; + +impl ErrorType for &[u8] { + type Error = core::convert::Infallible; +} + +/// Read is implemented for `&[u8]` by copying from the slice. +/// +/// Note that reading updates the slice to point to the yet unread part. +/// The slice will be empty when EOF is reached. +impl Read for &[u8] { + #[inline] + fn read(&mut self, buf: &mut [u8]) -> Result { + let amt = core::cmp::min(buf.len(), self.len()); + let (a, b) = self.split_at(amt); + + // First check if the amount of bytes we want to read is small: + // `copy_from_slice` will generally expand to a call to `memcpy`, and + // for a single byte the overhead is significant. + if amt == 1 { + buf[0] = a[0]; + } else { + buf[..amt].copy_from_slice(a); + } + + *self = b; + Ok(amt) + } +} + +impl BufRead for &[u8] { + #[inline] + fn fill_buf(&mut self) -> Result<&[u8], Self::Error> { + Ok(*self) + } + + #[inline] + fn consume(&mut self, amt: usize) { + *self = &self[amt..]; + } +} diff --git a/vendor/embedded-io/src/impls/vec.rs b/vendor/embedded-io/src/impls/vec.rs new file mode 100644 index 0000000000..3b279c564f --- /dev/null +++ b/vendor/embedded-io/src/impls/vec.rs @@ -0,0 +1,21 @@ +use crate::{ErrorType, Write}; +use alloc::vec::Vec; + +#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))] +impl ErrorType for Vec { + type Error = core::convert::Infallible; +} + +#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))] +impl Write for Vec { + #[inline] + fn write(&mut self, buf: &[u8]) -> Result { + self.extend_from_slice(buf); + Ok(buf.len()) + } + + #[inline] + fn flush(&mut self) -> Result<(), Self::Error> { + Ok(()) + } +} diff --git a/vendor/embedded-io/src/lib.rs b/vendor/embedded-io/src/lib.rs new file mode 100644 index 0000000000..f798b5b6ef --- /dev/null +++ b/vendor/embedded-io/src/lib.rs @@ -0,0 +1,573 @@ +#![cfg_attr(not(feature = "std"), no_std)] +#![cfg_attr(docsrs, feature(doc_cfg))] +#![warn(missing_docs)] +#![doc = include_str!("../README.md")] + +use core::fmt; + +// needed to prevent defmt macros from breaking, since they emit code that does `defmt::blahblah`. +#[cfg(feature = "defmt-03")] +use defmt_03 as defmt; + +#[cfg(feature = "alloc")] +extern crate alloc; + +mod impls; + +/// Enumeration of possible methods to seek within an I/O object. +/// +/// This is the `embedded-io` equivalent of [`std::io::SeekFrom`]. +#[derive(Debug, Copy, Clone, Eq, PartialEq)] +#[cfg_attr(feature = "defmt-03", derive(defmt::Format))] +pub enum SeekFrom { + /// Sets the offset to the provided number of bytes. + Start(u64), + /// Sets the offset to the size of this object plus the specified number of bytes. + End(i64), + /// Sets the offset to the current position plus the specified number of bytes. + Current(i64), +} + +#[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] +impl From for std::io::SeekFrom { + fn from(pos: SeekFrom) -> Self { + match pos { + SeekFrom::Start(n) => std::io::SeekFrom::Start(n), + SeekFrom::End(n) => std::io::SeekFrom::End(n), + SeekFrom::Current(n) => std::io::SeekFrom::Current(n), + } + } +} + +#[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] +impl From for SeekFrom { + fn from(pos: std::io::SeekFrom) -> SeekFrom { + match pos { + std::io::SeekFrom::Start(n) => SeekFrom::Start(n), + std::io::SeekFrom::End(n) => SeekFrom::End(n), + std::io::SeekFrom::Current(n) => SeekFrom::Current(n), + } + } +} + +/// Possible kinds of errors. +/// +/// This list is intended to grow over time and it is not recommended to +/// exhaustively match against it. In application code, use `match` for the `ErrorKind` +/// values you are expecting; use `_` to match "all other errors". +/// +/// This is the `embedded-io` equivalent of [`std::io::ErrorKind`], except with the following changes: +/// +/// - `WouldBlock` is removed, since `embedded-io` traits are always blocking. See the [crate-level documentation](crate) for details. +/// - `WriteZero` is removed, since it is a separate variant in [`WriteAllError`] and [`WriteFmtError`]. +#[derive(Debug, Copy, Clone, Eq, PartialEq)] +#[cfg_attr(feature = "defmt-03", derive(defmt::Format))] +#[non_exhaustive] +pub enum ErrorKind { + /// Unspecified error kind. + Other, + + /// An entity was not found, often a file. + NotFound, + /// The operation lacked the necessary privileges to complete. + PermissionDenied, + /// The connection was refused by the remote server. + ConnectionRefused, + /// The connection was reset by the remote server. + ConnectionReset, + /// The connection was aborted (terminated) by the remote server. + ConnectionAborted, + /// The network operation failed because it was not connected yet. + NotConnected, + /// A socket address could not be bound because the address is already in + /// use elsewhere. + AddrInUse, + /// A nonexistent interface was requested or the requested address was not + /// local. + AddrNotAvailable, + /// The operation failed because a pipe was closed. + BrokenPipe, + /// An entity already exists, often a file. + AlreadyExists, + /// A parameter was incorrect. + InvalidInput, + /// Data not valid for the operation were encountered. + /// + /// Unlike [`InvalidInput`], this typically means that the operation + /// parameters were valid, however the error was caused by malformed + /// input data. + /// + /// For example, a function that reads a file into a string will error with + /// `InvalidData` if the file's contents are not valid UTF-8. + /// + /// [`InvalidInput`]: ErrorKind::InvalidInput + InvalidData, + /// The I/O operation's timeout expired, causing it to be canceled. + TimedOut, + /// This operation was interrupted. + /// + /// Interrupted operations can typically be retried. + Interrupted, + /// This operation is unsupported on this platform. + /// + /// This means that the operation can never succeed. + Unsupported, + /// An operation could not be completed, because it failed + /// to allocate enough memory. + OutOfMemory, +} + +#[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] +impl From for std::io::ErrorKind { + fn from(value: ErrorKind) -> Self { + match value { + ErrorKind::NotFound => std::io::ErrorKind::NotFound, + ErrorKind::PermissionDenied => std::io::ErrorKind::PermissionDenied, + ErrorKind::ConnectionRefused => std::io::ErrorKind::ConnectionRefused, + ErrorKind::ConnectionReset => std::io::ErrorKind::ConnectionReset, + ErrorKind::ConnectionAborted => std::io::ErrorKind::ConnectionAborted, + ErrorKind::NotConnected => std::io::ErrorKind::NotConnected, + ErrorKind::AddrInUse => std::io::ErrorKind::AddrInUse, + ErrorKind::AddrNotAvailable => std::io::ErrorKind::AddrNotAvailable, + ErrorKind::BrokenPipe => std::io::ErrorKind::BrokenPipe, + ErrorKind::AlreadyExists => std::io::ErrorKind::AlreadyExists, + ErrorKind::InvalidInput => std::io::ErrorKind::InvalidInput, + ErrorKind::InvalidData => std::io::ErrorKind::InvalidData, + ErrorKind::TimedOut => std::io::ErrorKind::TimedOut, + ErrorKind::Interrupted => std::io::ErrorKind::Interrupted, + ErrorKind::Unsupported => std::io::ErrorKind::Unsupported, + ErrorKind::OutOfMemory => std::io::ErrorKind::OutOfMemory, + _ => std::io::ErrorKind::Other, + } + } +} + +#[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] +impl From for ErrorKind { + fn from(value: std::io::ErrorKind) -> Self { + match value { + std::io::ErrorKind::NotFound => ErrorKind::NotFound, + std::io::ErrorKind::PermissionDenied => ErrorKind::PermissionDenied, + std::io::ErrorKind::ConnectionRefused => ErrorKind::ConnectionRefused, + std::io::ErrorKind::ConnectionReset => ErrorKind::ConnectionReset, + std::io::ErrorKind::ConnectionAborted => ErrorKind::ConnectionAborted, + std::io::ErrorKind::NotConnected => ErrorKind::NotConnected, + std::io::ErrorKind::AddrInUse => ErrorKind::AddrInUse, + std::io::ErrorKind::AddrNotAvailable => ErrorKind::AddrNotAvailable, + std::io::ErrorKind::BrokenPipe => ErrorKind::BrokenPipe, + std::io::ErrorKind::AlreadyExists => ErrorKind::AlreadyExists, + std::io::ErrorKind::InvalidInput => ErrorKind::InvalidInput, + std::io::ErrorKind::InvalidData => ErrorKind::InvalidData, + std::io::ErrorKind::TimedOut => ErrorKind::TimedOut, + std::io::ErrorKind::Interrupted => ErrorKind::Interrupted, + std::io::ErrorKind::Unsupported => ErrorKind::Unsupported, + std::io::ErrorKind::OutOfMemory => ErrorKind::OutOfMemory, + _ => ErrorKind::Other, + } + } +} + +/// Error trait. +/// +/// This trait allows generic code to do limited inspecting of errors, +/// to react differently to different kinds. +pub trait Error: core::fmt::Debug { + /// Get the kind of this error. + fn kind(&self) -> ErrorKind; +} + +impl Error for core::convert::Infallible { + fn kind(&self) -> ErrorKind { + match *self {} + } +} + +impl Error for ErrorKind { + fn kind(&self) -> ErrorKind { + *self + } +} + +#[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] +impl crate::Error for std::io::Error { + fn kind(&self) -> crate::ErrorKind { + self.kind().into() + } +} + +/// Base trait for all IO traits, defining the error type. +/// +/// All IO operations of all traits return the error defined in this trait. +/// +/// Having a shared trait instead of having every trait define its own +/// `Error` associated type enforces all impls on the same type use the same error. +/// This is very convenient when writing generic code, it means you have to +/// handle a single error type `T::Error`, instead of `::Error` and `::Error` +/// which might be different types. +pub trait ErrorType { + /// Error type of all the IO operations on this type. + type Error: Error; +} + +impl ErrorType for &mut T { + type Error = T::Error; +} + +/// Error returned by [`Read::read_exact`] +#[derive(Debug, Copy, Clone, Eq, PartialEq)] +#[cfg_attr(feature = "defmt-03", derive(defmt::Format))] +pub enum ReadExactError { + /// An EOF error was encountered before reading the exact amount of requested bytes. + UnexpectedEof, + /// Error returned by the inner Read. + Other(E), +} + +impl From for ReadExactError { + fn from(err: E) -> Self { + Self::Other(err) + } +} + +#[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] +impl From> for std::io::Error { + fn from(err: ReadExactError) -> Self { + match err { + ReadExactError::UnexpectedEof => std::io::Error::new( + std::io::ErrorKind::UnexpectedEof, + "UnexpectedEof".to_owned(), + ), + ReadExactError::Other(e) => std::io::Error::new(e.kind(), format!("{:?}", e)), + } + } +} + +#[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] +impl From> for std::io::Error { + fn from(err: WriteAllError) -> Self { + match err { + WriteAllError::WriteZero => { + std::io::Error::new(std::io::ErrorKind::WriteZero, "WriteZero".to_owned()) + } + WriteAllError::Other(e) => std::io::Error::new(e.kind(), format!("{:?}", e)), + } + } +} + +impl fmt::Display for ReadExactError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{:?}", self) + } +} + +#[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] +impl std::error::Error for ReadExactError {} + +/// Error returned by [`Write::write_fmt`] +#[derive(Debug, Copy, Clone, Eq, PartialEq)] +#[cfg_attr(feature = "defmt-03", derive(defmt::Format))] +pub enum WriteFmtError { + /// [`Write::write`] wrote zero bytes + WriteZero, + /// An error was encountered while formatting. + FmtError, + /// Error returned by the inner Write. + Other(E), +} + +impl From for WriteFmtError { + fn from(err: E) -> Self { + Self::Other(err) + } +} + +impl fmt::Display for WriteFmtError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{:?}", self) + } +} + +#[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] +impl std::error::Error for WriteFmtError {} + +/// Error returned by [`Write::write_all`] +#[derive(Debug, Copy, Clone, Eq, PartialEq)] +#[cfg_attr(feature = "defmt-03", derive(defmt::Format))] +pub enum WriteAllError { + /// [`Write::write`] wrote zero bytes + WriteZero, + /// Error returned by the inner Write. + Other(E), +} + +impl From for WriteAllError { + fn from(err: E) -> Self { + Self::Other(err) + } +} + +impl fmt::Display for WriteAllError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{:?}", self) + } +} + +#[cfg(feature = "std")] +#[cfg_attr(docsrs, doc(cfg(feature = "std")))] +impl std::error::Error for WriteAllError {} + +/// Blocking reader. +/// +/// This trait is the `embedded-io` equivalent of [`std::io::Read`]. +pub trait Read: ErrorType { + /// Read some bytes from this source into the specified buffer, returning how many bytes were read. + /// + /// If no bytes are currently available to read, this function blocks until at least one byte is available. + /// + /// If bytes are available, a non-zero amount of bytes is read to the beginning of `buf`, and the amount + /// is returned. It is not guaranteed that *all* available bytes are returned, it is possible for the + /// implementation to read an amount of bytes less than `buf.len()` while there are more bytes immediately + /// available. + /// + /// If the reader is at end-of-file (EOF), `Ok(0)` is returned. There is no guarantee that a reader at EOF + /// will always be so in the future, for example a reader can stop being at EOF if another process appends + /// more bytes to the underlying file. + /// + /// If `buf.len() == 0`, `read` returns without blocking, with either `Ok(0)` or an error. + /// The `Ok(0)` doesn't indicate EOF, unlike when called with a non-empty buffer. + fn read(&mut self, buf: &mut [u8]) -> Result; + + /// Read the exact number of bytes required to fill `buf`. + /// + /// This function calls `read()` in a loop until exactly `buf.len()` bytes have + /// been read, blocking if needed. + /// + /// If you are using [`ReadReady`] to avoid blocking, you should not use this function. + /// `ReadReady::read_ready()` returning true only guarantees the first call to `read()` will + /// not block, so this function may still block in subsequent calls. + fn read_exact(&mut self, mut buf: &mut [u8]) -> Result<(), ReadExactError> { + while !buf.is_empty() { + match self.read(buf) { + Ok(0) => break, + Ok(n) => buf = &mut buf[n..], + Err(e) => return Err(ReadExactError::Other(e)), + } + } + if !buf.is_empty() { + Err(ReadExactError::UnexpectedEof) + } else { + Ok(()) + } + } +} + +/// Blocking buffered reader. +/// +/// This trait is the `embedded-io` equivalent of [`std::io::BufRead`]. +pub trait BufRead: ErrorType { + /// Return the contents of the internal buffer, filling it with more data from the inner reader if it is empty. + /// + /// If no bytes are currently available to read, this function blocks until at least one byte is available. + /// + /// If the reader is at end-of-file (EOF), an empty slice is returned. There is no guarantee that a reader at EOF + /// will always be so in the future, for example a reader can stop being at EOF if another process appends + /// more bytes to the underlying file. + fn fill_buf(&mut self) -> Result<&[u8], Self::Error>; + + /// Tell this buffer that `amt` bytes have been consumed from the buffer, so they should no longer be returned in calls to `fill_buf`. + fn consume(&mut self, amt: usize); +} + +/// Blocking writer. +/// +/// This trait is the `embedded-io` equivalent of [`std::io::Write`]. +pub trait Write: ErrorType { + /// Write a buffer into this writer, returning how many bytes were written. + /// + /// If the writer is not currently ready to accept more bytes (for example, its buffer is full), + /// this function blocks until it is ready to accept least one byte. + /// + /// If it's ready to accept bytes, a non-zero amount of bytes is written from the beginning of `buf`, and the amount + /// is returned. It is not guaranteed that *all* available buffer space is filled, i.e. it is possible for the + /// implementation to write an amount of bytes less than `buf.len()` while the writer continues to be + /// ready to accept more bytes immediately. + /// + /// Implementations should never return `Ok(0)` when `buf.len() != 0`. Situations where the writer is not + /// able to accept more bytes and likely never will are better indicated with errors. + /// + /// If `buf.len() == 0`, `write` returns without blocking, with either `Ok(0)` or an error. + /// The `Ok(0)` doesn't indicate an error. + fn write(&mut self, buf: &[u8]) -> Result; + + /// Flush this output stream, blocking until all intermediately buffered contents reach their destination. + fn flush(&mut self) -> Result<(), Self::Error>; + + /// Write an entire buffer into this writer. + /// + /// This function calls `write()` in a loop until exactly `buf.len()` bytes have + /// been written, blocking if needed. + /// + /// If you are using [`WriteReady`] to avoid blocking, you should not use this function. + /// `WriteReady::write_ready()` returning true only guarantees the first call to `write()` will + /// not block, so this function may still block in subsequent calls. + fn write_all(&mut self, mut buf: &[u8]) -> Result<(), WriteAllError> { + while !buf.is_empty() { + match self.write(buf) { + Ok(0) => return Err(WriteAllError::WriteZero), + Ok(n) => buf = &buf[n..], + Err(e) => return Err(WriteAllError::Other(e)), + } + } + Ok(()) + } + + /// Write a formatted string into this writer, returning any error encountered. + /// + /// This function calls `write()` in a loop until the entire formatted string has + /// been written, blocking if needed. + /// + /// If you are using [`WriteReady`] to avoid blocking, you should not use this function. + /// `WriteReady::write_ready()` returning true only guarantees the first call to `write()` will + /// not block, so this function may still block in subsequent calls. + fn write_fmt(&mut self, fmt: fmt::Arguments<'_>) -> Result<(), WriteFmtError> { + // Create a shim which translates a Write to a fmt::Write and saves + // off I/O errors. instead of discarding them + struct Adapter<'a, T: Write + ?Sized + 'a> { + inner: &'a mut T, + error: Result<(), WriteAllError>, + } + + impl fmt::Write for Adapter<'_, T> { + fn write_str(&mut self, s: &str) -> fmt::Result { + match self.inner.write_all(s.as_bytes()) { + Ok(()) => Ok(()), + Err(e) => { + self.error = Err(e); + Err(fmt::Error) + } + } + } + } + + let mut output = Adapter { + inner: self, + error: Ok(()), + }; + match fmt::write(&mut output, fmt) { + Ok(()) => Ok(()), + Err(..) => match output.error { + // check if the error came from the underlying `Write` or not + Err(e) => match e { + WriteAllError::WriteZero => Err(WriteFmtError::WriteZero), + WriteAllError::Other(e) => Err(WriteFmtError::Other(e)), + }, + Ok(()) => Err(WriteFmtError::FmtError), + }, + } + } +} + +/// Blocking seek within streams. +/// +/// This trait is the `embedded-io` equivalent of [`std::io::Seek`]. +pub trait Seek: ErrorType { + /// Seek to an offset, in bytes, in a stream. + fn seek(&mut self, pos: SeekFrom) -> Result; + + /// Rewind to the beginning of a stream. + fn rewind(&mut self) -> Result<(), Self::Error> { + self.seek(SeekFrom::Start(0))?; + Ok(()) + } + + /// Returns the current seek position from the start of the stream. + fn stream_position(&mut self) -> Result { + self.seek(SeekFrom::Current(0)) + } +} + +/// Get whether a reader is ready. +/// +/// This allows using a [`Read`] or [`BufRead`] in a nonblocking fashion, i.e. trying to read +/// only when it is ready. +pub trait ReadReady: ErrorType { + /// Get whether the reader is ready for immediately reading. + /// + /// This usually means that there is either some bytes have been received and are buffered and ready to be read, + /// or that the reader is at EOF. + /// + /// If this returns `true`, it's guaranteed that the next call to [`Read::read`] or [`BufRead::fill_buf`] will not block. + fn read_ready(&mut self) -> Result; +} + +/// Get whether a writer is ready. +/// +/// This allows using a [`Write`] in a nonblocking fashion, i.e. trying to write +/// only when it is ready. +pub trait WriteReady: ErrorType { + /// Get whether the writer is ready for immediately writing. + /// + /// This usually means that there is free space in the internal transmit buffer. + /// + /// If this returns `true`, it's guaranteed that the next call to [`Write::write`] will not block. + fn write_ready(&mut self) -> Result; +} + +impl Read for &mut T { + #[inline] + fn read(&mut self, buf: &mut [u8]) -> Result { + T::read(self, buf) + } +} + +impl BufRead for &mut T { + fn fill_buf(&mut self) -> Result<&[u8], Self::Error> { + T::fill_buf(self) + } + + fn consume(&mut self, amt: usize) { + T::consume(self, amt) + } +} + +impl Write for &mut T { + #[inline] + fn write(&mut self, buf: &[u8]) -> Result { + T::write(self, buf) + } + + #[inline] + fn flush(&mut self) -> Result<(), Self::Error> { + T::flush(self) + } +} + +impl Seek for &mut T { + #[inline] + fn seek(&mut self, pos: SeekFrom) -> Result { + T::seek(self, pos) + } +} + +impl ReadReady for &mut T { + #[inline] + fn read_ready(&mut self) -> Result { + T::read_ready(self) + } +} + +impl WriteReady for &mut T { + #[inline] + fn write_ready(&mut self) -> Result { + T::write_ready(self) + } +} diff --git a/vendor/itertools/.cargo_vcs_info.json b/vendor/itertools/.cargo_vcs_info.json new file mode 100644 index 0000000000..432bb3771c --- /dev/null +++ b/vendor/itertools/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "62a6401afd6d45e1c2aea94c05cb5c70076b2ca4" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/itertools/.github/dependabot.yml b/vendor/itertools/.github/dependabot.yml new file mode 100644 index 0000000000..71607d0c3c --- /dev/null +++ b/vendor/itertools/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: +- package-ecosystem: github-actions + directory: "/" + schedule: + interval: daily diff --git a/vendor/itertools/.github/workflows/ci.yml b/vendor/itertools/.github/workflows/ci.yml new file mode 100644 index 0000000000..92122cca0b --- /dev/null +++ b/vendor/itertools/.github/workflows/ci.yml @@ -0,0 +1,57 @@ +name: CI + +on: + pull_request: + push: + branches: + - staging + - trying + +jobs: + check: + name: check + runs-on: ubuntu-latest + strategy: + matrix: + build: [msrv, stable] + features: + [ + "", + "--no-default-features", + "--no-default-features --features use_alloc", + "--all-targets --all-features", + ] + include: + - build: msrv + rust: 1.62.1 + - build: stable + rust: stable + exclude: + - build: msrv + # we only care about the MSRV with respect to the lib target + features: "--all-targets --all-features" + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + - run: cargo check ${{ matrix.features }} + + test: + name: test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + - run: cargo test --all-features + + # https://github.com/rust-lang/crater/blob/9ab6f9697c901c4a44025cf0a39b73ad5b37d198/.github/workflows/bors.yml#L125-L149 + end-success: + name: bors build finished + if: success() + runs-on: ubuntu-latest + needs: [check, test] + + steps: + - name: Mark the job as successful + run: exit 0 diff --git a/vendor/itertools/.rustfmt.toml b/vendor/itertools/.rustfmt.toml new file mode 100644 index 0000000000..06eb57a173 --- /dev/null +++ b/vendor/itertools/.rustfmt.toml @@ -0,0 +1,3 @@ +# Temporarily disable rustfmt completely to avoid conflicts of newly formatted +# code with old PRs. +ignore = ["/"] diff --git a/vendor/itertools/Cargo.toml.orig b/vendor/itertools/Cargo.toml.orig new file mode 100644 index 0000000000..a6dfefbf63 --- /dev/null +++ b/vendor/itertools/Cargo.toml.orig @@ -0,0 +1,73 @@ +[package] +name = "itertools" +version = "0.11.0" + +license = "MIT OR Apache-2.0" +repository = "https://github.com/rust-itertools/itertools" +documentation = "https://docs.rs/itertools/" +authors = ["bluss"] +readme = "README.md" + +description = "Extra iterator adaptors, iterator methods, free functions, and macros." + +keywords = ["iterator", "data-structure", "zip", "product", "group-by"] +categories = ["algorithms", "rust-patterns"] +exclude = ["/bors.toml"] + +edition = "2018" + +rust-version = "1.36.0" + +[lib] +bench = false +test = false + +[dependencies] +either = { version = "1.0", default-features = false } + +[dev-dependencies] +rand = "0.7" +criterion = "0.4.0" +paste = "1.0.0" # Used in test_std to instantiate generic tests +permutohedron = "0.2" +quickcheck = { version = "0.9", default_features = false } + +[features] +default = ["use_std"] +use_std = ["use_alloc", "either/use_std"] +use_alloc = [] + +[profile] +bench = { debug = true } + +[[bench]] +name = "tuple_combinations" +harness = false + +[[bench]] +name = "tuples" +harness = false + +[[bench]] +name = "fold_specialization" +harness = false + +[[bench]] +name = "combinations_with_replacement" +harness = false + +[[bench]] +name = "tree_fold1" +harness = false + +[[bench]] +name = "bench1" +harness = false + +[[bench]] +name = "combinations" +harness = false + +[[bench]] +name = "powerset" +harness = false diff --git a/vendor/itoa/.cargo_vcs_info.json b/vendor/itoa/.cargo_vcs_info.json new file mode 100644 index 0000000000..09115722e1 --- /dev/null +++ b/vendor/itoa/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "e2766b868e4ac1ae2bf5bea1ac43d4c0da23b899" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/itoa/.github/FUNDING.yml b/vendor/itoa/.github/FUNDING.yml new file mode 100644 index 0000000000..750707701c --- /dev/null +++ b/vendor/itoa/.github/FUNDING.yml @@ -0,0 +1 @@ +github: dtolnay diff --git a/vendor/itoa/.github/workflows/ci.yml b/vendor/itoa/.github/workflows/ci.yml new file mode 100644 index 0000000000..f27752aed7 --- /dev/null +++ b/vendor/itoa/.github/workflows/ci.yml @@ -0,0 +1,114 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + pre_ci: + uses: dtolnay/.github/.github/workflows/pre_ci.yml@master + + test: + name: Rust ${{matrix.rust}} + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [nightly, beta, stable, 1.36.0] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + - name: Enable type layout randomization + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - run: cargo build + - run: cargo test + - run: cargo test --release + - run: cargo build --no-default-features + - run: cargo test --tests --no-default-features + - run: cargo test --tests --no-default-features --release + - run: cargo build --tests --features no-panic --release + if: matrix.rust == 'nightly' + - run: cargo bench --no-run + if: matrix.rust == 'nightly' + - uses: actions/upload-artifact@v4 + if: matrix.rust == 'nightly' && always() + with: + name: Cargo.lock + path: Cargo.lock + continue-on-error: true + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + miri: + name: Miri + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@miri + - run: cargo miri setup + - run: cargo miri test + env: + MIRIFLAGS: -Zmiri-strict-provenance + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@clippy + - run: cargo clippy --tests --benches -- -Dclippy::all -Dclippy::pedantic + + fuzz: + name: Fuzz + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-fuzz + - run: cargo fuzz check + + outdated: + name: Outdated + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: dtolnay/install@cargo-outdated + - run: cargo outdated --workspace --exit-code 1 + - run: cargo outdated --manifest-path fuzz/Cargo.toml --exit-code 1 diff --git a/vendor/itoa/Cargo.lock b/vendor/itoa/Cargo.lock new file mode 100644 index 0000000000..b940b81786 --- /dev/null +++ b/vendor/itoa/Cargo.lock @@ -0,0 +1,56 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "itoa" +version = "1.0.15" +dependencies = [ + "no-panic 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "no-panic" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.99 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "proc-macro2" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-ident 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quote" +version = "1.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "syn" +version = "2.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-ident 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "unicode-ident" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum no-panic 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "8f7da86466fe446079286ef4b2f6d789755b610a9d85da8477633f734d2697e8" +"checksum proc-macro2 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)" = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +"checksum quote 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801" +"checksum syn 2.0.99 (registry+https://github.com/rust-lang/crates.io-index)" = "e02e925281e18ffd9d640e234264753c43edc62d64b2d4cf898f1bc5e75f3fc2" +"checksum unicode-ident 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" diff --git a/vendor/itoa/Cargo.toml.orig b/vendor/itoa/Cargo.toml.orig new file mode 100644 index 0000000000..fc25bc8080 --- /dev/null +++ b/vendor/itoa/Cargo.toml.orig @@ -0,0 +1,25 @@ +[package] +name = "itoa" +version = "1.0.15" +authors = ["David Tolnay "] +categories = ["value-formatting", "no-std", "no-std::no-alloc"] +description = "Fast integer primitive to string conversion" +documentation = "https://docs.rs/itoa" +edition = "2018" +exclude = ["performance.png", "chart/**"] +keywords = ["integer"] +license = "MIT OR Apache-2.0" +repository = "https://github.com/dtolnay/itoa" +rust-version = "1.36" + +[dependencies] +no-panic = { version = "0.1", optional = true } + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = [ + "--generate-link-to-definition", + "--extern-html-root-url=core=https://doc.rust-lang.org", + "--extern-html-root-url=alloc=https://doc.rust-lang.org", + "--extern-html-root-url=std=https://doc.rust-lang.org", +] diff --git a/vendor/libc/.cargo_vcs_info.json b/vendor/libc/.cargo_vcs_info.json new file mode 100644 index 0000000000..3a968eccfe --- /dev/null +++ b/vendor/libc/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "cfd7ebf850cb29ca125c09d8486343d3dbc1c3d5" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/libc/.release-plz.toml b/vendor/libc/.release-plz.toml new file mode 100644 index 0000000000..68bd669aff --- /dev/null +++ b/vendor/libc/.release-plz.toml @@ -0,0 +1,3 @@ +[workspace] +git_release_name = "{{ version }}" +git_tag_name = "{{ version }}" diff --git a/vendor/libc/Cargo.toml.orig b/vendor/libc/Cargo.toml.orig new file mode 100644 index 0000000000..57fbc25879 --- /dev/null +++ b/vendor/libc/Cargo.toml.orig @@ -0,0 +1,149 @@ +[package] +name = "libc" +version = "0.2.163" +authors = ["The Rust Project Developers"] +license = "MIT OR Apache-2.0" +readme = "README.md" +repository = "https://github.com/rust-lang/libc" +homepage = "https://github.com/rust-lang/libc" +documentation = "https://docs.rs/libc/" +keywords = ["libc", "ffi", "bindings", "operating", "system"] +categories = ["external-ffi-bindings", "no-std", "os"] +build = "build.rs" +exclude = ["/ci/*", "/.github/*", "/.cirrus.yml", "/triagebot.toml"] +rust-version = "1.19" +description = """ +Raw FFI bindings to platform libraries like libc. +""" + +[package.metadata.docs.rs] +features = ["const-extern-fn", "extra_traits"] +default-target = "x86_64-unknown-linux-gnu" +targets = [ + "aarch64-apple-darwin", + "aarch64-apple-ios", + "aarch64-linux-android", + "aarch64-pc-windows-msvc", + "aarch64-unknown-freebsd", + "aarch64-unknown-fuchsia", + "aarch64-unknown-hermit", + "aarch64-unknown-linux-gnu", + "aarch64-unknown-linux-musl", + "aarch64-unknown-netbsd", + "aarch64-unknown-openbsd", + "aarch64-wrs-vxworks", + "arm-linux-androideabi", + "arm-unknown-linux-gnueabi", + "arm-unknown-linux-gnueabihf", + "arm-unknown-linux-musleabi", + "arm-unknown-linux-musleabihf", + "armebv7r-none-eabi", + "armebv7r-none-eabihf", + "armv5te-unknown-linux-gnueabi", + "armv5te-unknown-linux-musleabi", + "armv7-linux-androideabi", + "armv7-unknown-linux-gnueabihf", + "armv7-unknown-linux-musleabihf", + "armv7-wrs-vxworks-eabihf", + "armv7r-none-eabi", + "armv7r-none-eabihf", + # FIXME(hexagon): excluded due to duplicate symbol errors + # "hexagon-unknown-linux-musl", + "i586-pc-windows-msvc", + "i586-unknown-linux-gnu", + "i586-unknown-linux-musl", + "i686-linux-android", + "i686-pc-windows-gnu", + "i686-pc-windows-msvc", + "i686-pc-windows-msvc", + "i686-unknown-freebsd", + "i686-unknown-haiku", + "i686-unknown-linux-gnu", + "i686-unknown-linux-musl", + "i686-unknown-netbsd", + "i686-unknown-openbsd", + "i686-wrs-vxworks", + "mips-unknown-linux-gnu", + "mips-unknown-linux-musl", + "mips64-unknown-linux-gnuabi64", + "mips64-unknown-linux-muslabi64", + "mips64el-unknown-linux-gnuabi64", + "mips64el-unknown-linux-muslabi64", + "mipsel-sony-psp", + "mipsel-unknown-linux-gnu", + "mipsel-unknown-linux-musl", + "nvptx64-nvidia-cuda", + "powerpc-unknown-linux-gnu", + "powerpc-unknown-linux-gnuspe", + "powerpc-unknown-netbsd", + "powerpc-wrs-vxworks", + "powerpc-wrs-vxworks-spe", + "powerpc64-unknown-freebsd", + "powerpc64-unknown-linux-gnu", + "powerpc64-wrs-vxworks", + "powerpc64le-unknown-linux-gnu", + "riscv32gc-unknown-linux-gnu", + "riscv32i-unknown-none-elf", + "riscv32imac-unknown-none-elf", + "riscv32imc-unknown-none-elf", + "riscv32-wrs-vxworks", + "riscv64gc-unknown-freebsd", + "riscv64gc-unknown-hermit", + "riscv64gc-unknown-linux-gnu", + "riscv64gc-unknown-linux-musl", + "riscv64gc-unknown-none-elf", + "riscv64imac-unknown-none-elf", + "riscv64-wrs-vxworks", + "s390x-unknown-linux-gnu", + "s390x-unknown-linux-musl", + "sparc-unknown-linux-gnu", + "sparc64-unknown-linux-gnu", + "sparc64-unknown-netbsd", + "sparcv9-sun-solaris", + "thumbv6m-none-eabi", + "thumbv7em-none-eabi", + "thumbv7em-none-eabihf", + "thumbv7m-none-eabi", + "thumbv7neon-linux-androideabi", + "thumbv7neon-unknown-linux-gnueabihf", + "wasm32-unknown-emscripten", + "wasm32-unknown-unknown", + "x86_64-apple-darwin", + "x86_64-apple-ios", + "x86_64-fortanix-unknown-sgx", + "x86_64-linux-android", + "x86_64-pc-solaris", + "x86_64-pc-windows-gnu", + "x86_64-pc-windows-msvc", + "x86_64-unknown-dragonfly", + "x86_64-unknown-freebsd", + "x86_64-unknown-fuchsia", + "x86_64-unknown-haiku", + "x86_64-unknown-hermit", + "x86_64-unknown-illumos", + "x86_64-unknown-l4re-uclibc", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-linux-gnux32", + "x86_64-unknown-linux-musl", + "x86_64-unknown-netbsd", + "x86_64-unknown-openbsd", + "x86_64-unknown-redox", + "x86_64-wrs-vxworks" +] +cargo-args = ["-Zbuild-std=core"] + +[dependencies] +rustc-std-workspace-core = { version = "1.0.0", optional = true } + +[features] +default = ["std"] +std = [] +align = [] +rustc-dep-of-std = ['align', 'rustc-std-workspace-core'] +extra_traits = [] +const-extern-fn = [] +# use_std is deprecated, use `std` instead +use_std = ['std'] + +[workspace] +members = ["libc-test"] diff --git a/vendor/lock_api/.cargo_vcs_info.json b/vendor/lock_api/.cargo_vcs_info.json new file mode 100644 index 0000000000..73ab3ff362 --- /dev/null +++ b/vendor/lock_api/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "8d92826bdcc8f7a507a2803ecbe5d98747f1df34" + }, + "path_in_vcs": "lock_api" +} \ No newline at end of file diff --git a/vendor/lock_api/Cargo.toml.orig b/vendor/lock_api/Cargo.toml.orig new file mode 100644 index 0000000000..683e69fe42 --- /dev/null +++ b/vendor/lock_api/Cargo.toml.orig @@ -0,0 +1,33 @@ +[package] +name = "lock_api" +version = "0.4.11" +authors = ["Amanieu d'Antras "] +description = "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std." +license = "MIT OR Apache-2.0" +repository = "https://github.com/Amanieu/parking_lot" +keywords = ["mutex", "rwlock", "lock", "no_std"] +categories = ["concurrency", "no-std"] +edition = "2018" +rust-version = "1.49.0" + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"] + +[dependencies] +scopeguard = { version = "1.1.0", default-features = false } +owning_ref = { version = "0.4.1", optional = true } + +# Optional dependency for supporting serde. Optional crates automatically +# create a feature with the same name as the crate, so if you need serde +# support, just pass "--features serde" when building this crate. +serde = { version = "1.0.126", default-features = false, optional = true } + +[build-dependencies] +autocfg = "1.1.0" + +[features] +default = ["atomic_usize"] +nightly = [] +arc_lock = [] +atomic_usize = [] diff --git a/vendor/memchr/.cargo_vcs_info.json b/vendor/memchr/.cargo_vcs_info.json new file mode 100644 index 0000000000..03d5f8609b --- /dev/null +++ b/vendor/memchr/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "c55597192ead1896c5c7cad2632f01d57ab41da0" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/memchr/.ignore b/vendor/memchr/.ignore new file mode 100644 index 0000000000..47ec4742e0 --- /dev/null +++ b/vendor/memchr/.ignore @@ -0,0 +1 @@ +!.github diff --git a/vendor/memchr/Cargo.toml.orig b/vendor/memchr/Cargo.toml.orig new file mode 100644 index 0000000000..03f126c898 --- /dev/null +++ b/vendor/memchr/Cargo.toml.orig @@ -0,0 +1,57 @@ +[package] +name = "memchr" +version = "2.5.0" #:version +authors = ["Andrew Gallant ", "bluss"] +description = "Safe interface to memchr." +documentation = "https://docs.rs/memchr/" +homepage = "https://github.com/BurntSushi/memchr" +repository = "https://github.com/BurntSushi/memchr" +readme = "README.md" +keywords = ["memchr", "char", "scan", "strchr", "string"] +license = "Unlicense/MIT" +exclude = ["/bench", "/.github", "/fuzz"] +edition = "2018" + +[workspace] +members = ["bench"] + +[lib] +name = "memchr" +bench = false + +[features] +default = ["std"] + +# The 'std' feature permits the memchr crate to use the standard library. This +# permits this crate to use runtime CPU feature detection to automatically +# accelerate searching via vector instructions. Without the standard library, +# this automatic detection is not possible. +std = [] +# The 'use_std' feature is DEPRECATED. It will be removed in memchr 3. Until +# then, it is alias for the 'std' feature. +use_std = ["std"] + +# Internal feature, only used when building as part of libstd, not part of the +# stable interface of this crate. +rustc-dep-of-std = ['core', 'compiler_builtins'] + +[dependencies] +libc = { version = "0.2.18", default-features = false, optional = true } + +# Internal feature, only used when building as part of libstd, not part of the +# stable interface of this crate. +core = { version = '1.0.0', optional = true, package = 'rustc-std-workspace-core' } +compiler_builtins = { version = '0.1.2', optional = true } + +[dev-dependencies] +quickcheck = { version = "1.0.3", default-features = false } + +[profile.release] +debug = true + +[profile.bench] +debug = true + +[profile.test] +opt-level = 3 +debug = true diff --git a/vendor/parking_lot/.cargo_vcs_info.json b/vendor/parking_lot/.cargo_vcs_info.json new file mode 100644 index 0000000000..ca34d9debe --- /dev/null +++ b/vendor/parking_lot/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "336a9b31ff385728d00eb7ef173e4d054584b787" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/parking_lot/.github/workflows/rust.yml b/vendor/parking_lot/.github/workflows/rust.yml new file mode 100644 index 0000000000..e5c23951fe --- /dev/null +++ b/vendor/parking_lot/.github/workflows/rust.yml @@ -0,0 +1,69 @@ +name: Rust + +on: + push: + branches: + - trying + - staging + pull_request: + +env: + CARGO_INCREMENTAL: 0 + RUST_TEST_THREADS: 1 + +jobs: + build_tier_one: + runs-on: ${{ matrix.os }}-latest + strategy: + matrix: + os: [ubuntu, macos, windows] + channel: [1.49.0, stable, beta, nightly] + feature: [arc_lock, serde, deadlock_detection] + exclude: + - feature: deadlock_detection + channel: '1.49.0' + include: + - channel: nightly + feature: nightly + os: ubuntu + - channel: nightly + feature: hardware-lock-elision + os: ubuntu + + steps: + - uses: actions/checkout@v2 + - run: rustup default ${{ matrix.channel }} + - run: cargo build --all + - run: cargo test --all + - run: cargo build --all --features ${{ matrix.feature }} + - run: cargo test --all --features ${{ matrix.feature }} + if: matrix.feature == 'nightly' + build_other_platforms: + runs-on: ubuntu-latest + strategy: + matrix: + target: + - wasm32-unknown-unknown + - x86_64-fortanix-unknown-sgx + #- x86_64-unknown-redox + #- x86_64-linux-android + steps: + - uses: actions/checkout@v2 + - run: rustup default nightly + - run: rustup target add ${{ matrix.target }} + - run: cargo build --workspace --target ${{ matrix.target }} --features nightly + build_docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: rustup default nightly + - run: cargo doc --workspace --features arc_lock,serde,deadlock_detection --no-deps -p parking_lot -p parking_lot_core -p lock_api + benchmark: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: rustup default nightly + - run: | + cd benchmark + cargo run --release --bin mutex -- 2 1 0 1 2 + cargo run --release --bin rwlock -- 1 1 1 0 1 2 diff --git a/vendor/parking_lot/Cargo.toml.orig b/vendor/parking_lot/Cargo.toml.orig new file mode 100644 index 0000000000..90b653d4a0 --- /dev/null +++ b/vendor/parking_lot/Cargo.toml.orig @@ -0,0 +1,34 @@ +[package] +name = "parking_lot" +version = "0.12.1" +authors = ["Amanieu d'Antras "] +description = "More compact and efficient implementations of the standard synchronization primitives." +license = "MIT OR Apache-2.0" +repository = "https://github.com/Amanieu/parking_lot" +readme = "README.md" +keywords = ["mutex", "condvar", "rwlock", "once", "thread"] +categories = ["concurrency"] +edition = "2018" + +[dependencies] +parking_lot_core = { path = "core", version = "0.9.0" } +lock_api = { path = "lock_api", version = "0.4.6" } + +[dev-dependencies] +rand = "0.8.3" + +# Used when testing out serde support. +bincode = "1.3.3" + +[features] +default = [] +arc_lock = ["lock_api/arc_lock"] +owning_ref = ["lock_api/owning_ref"] +nightly = ["parking_lot_core/nightly", "lock_api/nightly"] +deadlock_detection = ["parking_lot_core/deadlock_detection"] +serde = ["lock_api/serde"] +send_guard = [] +hardware-lock-elision = [] + +[workspace] +exclude = ["benchmark"] diff --git a/vendor/parking_lot_core/.cargo_vcs_info.json b/vendor/parking_lot_core/.cargo_vcs_info.json new file mode 100644 index 0000000000..9f31089a5f --- /dev/null +++ b/vendor/parking_lot_core/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "9dace42690f78bcf30f387ba42024bff4e8b6c18" + }, + "path_in_vcs": "core" +} \ No newline at end of file diff --git a/vendor/parking_lot_core/Cargo.toml.orig b/vendor/parking_lot_core/Cargo.toml.orig new file mode 100644 index 0000000000..c9672b349c --- /dev/null +++ b/vendor/parking_lot_core/Cargo.toml.orig @@ -0,0 +1,34 @@ +[package] +name = "parking_lot_core" +version = "0.9.10" +authors = ["Amanieu d'Antras "] +description = "An advanced API for creating custom synchronization primitives." +license = "MIT OR Apache-2.0" +repository = "https://github.com/Amanieu/parking_lot" +keywords = ["mutex", "condvar", "rwlock", "once", "thread"] +categories = ["concurrency"] +edition = "2021" +rust-version = "1.56.0" + +[package.metadata.docs.rs] +rustdoc-args = ["--generate-link-to-definition"] + +[dependencies] +cfg-if = "1.0.0" +smallvec = "1.6.1" +petgraph = { version = "0.6.0", optional = true } +thread-id = { version = "4.0.0", optional = true } +backtrace = { version = "0.3.60", optional = true } + +[target.'cfg(unix)'.dependencies] +libc = "0.2.95" + +[target.'cfg(target_os = "redox")'.dependencies] +redox_syscall = "0.5" + +[target.'cfg(windows)'.dependencies] +windows-targets = "0.52.0" + +[features] +nightly = [] +deadlock_detection = ["petgraph", "thread-id", "backtrace"] diff --git a/vendor/prettyplease/.cargo_vcs_info.json b/vendor/prettyplease/.cargo_vcs_info.json new file mode 100644 index 0000000000..48a9598b3a --- /dev/null +++ b/vendor/prettyplease/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "0875d2df6741802cd338f77f2d7ba4fab55f310b" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/prettyplease/.github/FUNDING.yml b/vendor/prettyplease/.github/FUNDING.yml new file mode 100644 index 0000000000..750707701c --- /dev/null +++ b/vendor/prettyplease/.github/FUNDING.yml @@ -0,0 +1 @@ +github: dtolnay diff --git a/vendor/prettyplease/.github/workflows/ci.yml b/vendor/prettyplease/.github/workflows/ci.yml new file mode 100644 index 0000000000..00b591fb26 --- /dev/null +++ b/vendor/prettyplease/.github/workflows/ci.yml @@ -0,0 +1,112 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + pre_ci: + uses: dtolnay/.github/.github/workflows/pre_ci.yml@master + + test: + name: Rust ${{matrix.rust}} + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [nightly, beta, stable, 1.56.0] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + - run: cargo check + - run: cargo check --features verbatim + - run: cargo test + env: + RUSTFLAGS: ${{env.RUSTFLAGS}} ${{matrix.rust == 'nightly' && '--cfg exhaustive' || ''}} + + examples: + name: Examples + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: llvm-tools, rustc-dev, rustfmt + - run: cargo run --manifest-path examples/update/Cargo.toml + - run: git diff --exit-code + - run: cargo run --manifest-path cargo-expand/update/Cargo.toml + - run: git diff --exit-code + + fuzz: + name: Fuzz + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-fuzz + - run: cargo fuzz check + + minimal: + name: Minimal versions + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - run: cargo generate-lockfile -Z minimal-versions + - run: cargo check --locked + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@clippy + - run: cargo clippy --features verbatim -- -Dclippy::all -Dclippy::pedantic + + outdated: + name: Outdated + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/install@cargo-outdated + - run: cargo outdated --workspace --exit-code 1 diff --git a/vendor/prettyplease/Cargo.toml.orig b/vendor/prettyplease/Cargo.toml.orig new file mode 100644 index 0000000000..a36f868008 --- /dev/null +++ b/vendor/prettyplease/Cargo.toml.orig @@ -0,0 +1,41 @@ +[package] +name = "prettyplease" +version = "0.2.17" +authors = ["David Tolnay "] +autoexamples = false +categories = ["development-tools"] +description = "A minimal `syn` syntax tree pretty-printer" +documentation = "https://docs.rs/prettyplease" +edition = "2021" +exclude = ["cargo-expand"] +keywords = ["rustfmt"] +license = "MIT OR Apache-2.0" +links = "prettyplease02" +repository = "https://github.com/dtolnay/prettyplease" +rust-version = "1.56" + +[features] +verbatim = ["syn/parsing"] + +[dependencies] +proc-macro2 = { version = "1.0.74", default-features = false } +syn = { version = "2.0.46", default-features = false, features = ["full"] } + +[dev-dependencies] +indoc = "2" +proc-macro2 = { version = "1.0.74", default-features = false } +quote = { version = "1.0.35", default-features = false } +syn = { version = "2.0.46", default-features = false, features = ["parsing"] } + +[lib] +doc-scrape-examples = false + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = ["--generate-link-to-definition"] + +[package.metadata.playground] +features = ["verbatim"] + +[workspace] +members = ["cargo-expand/update", "examples/update"] diff --git a/vendor/prettyplease/examples/.tokeignore b/vendor/prettyplease/examples/.tokeignore new file mode 100644 index 0000000000..6f5f3d11d3 --- /dev/null +++ b/vendor/prettyplease/examples/.tokeignore @@ -0,0 +1 @@ +*.rs diff --git a/vendor/proc-macro2/.cargo_vcs_info.json b/vendor/proc-macro2/.cargo_vcs_info.json new file mode 100644 index 0000000000..c19f4ffd1c --- /dev/null +++ b/vendor/proc-macro2/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "da51f8d005cc5d8299c1872fad9bbe63b07c31c7" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/proc-macro2/.github/FUNDING.yml b/vendor/proc-macro2/.github/FUNDING.yml new file mode 100644 index 0000000000..750707701c --- /dev/null +++ b/vendor/proc-macro2/.github/FUNDING.yml @@ -0,0 +1 @@ +github: dtolnay diff --git a/vendor/proc-macro2/.github/workflows/ci.yml b/vendor/proc-macro2/.github/workflows/ci.yml new file mode 100644 index 0000000000..2715f2adf8 --- /dev/null +++ b/vendor/proc-macro2/.github/workflows/ci.yml @@ -0,0 +1,204 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + pre_ci: + uses: dtolnay/.github/.github/workflows/pre_ci.yml@master + + test: + name: Rust ${{matrix.rust}} + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [1.63.0, stable, beta] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + components: rust-src + - run: cargo test + - run: cargo test --no-default-features + - run: cargo test --features span-locations + - name: RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo test + run: cargo test + env: + RUSTFLAGS: --cfg procmacro2_semver_exempt ${{env.RUSTFLAGS}} + - name: RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo test --no-default-features + run: cargo test --no-default-features + env: + RUSTFLAGS: --cfg procmacro2_semver_exempt ${{env.RUSTFLAGS}} + + nightly: + name: Rust nightly + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rust-src + - name: Enable type layout randomization + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV + - run: cargo check + env: + RUSTFLAGS: --cfg procmacro2_nightly_testing ${{env.RUSTFLAGS}} + - run: cargo test + - run: cargo test --no-default-features + - run: cargo test --no-default-features --test features -- --ignored make_sure_no_proc_macro # run the ignored test to make sure the `proc-macro` feature is disabled + - run: cargo test --features span-locations + - run: cargo test --manifest-path tests/ui/Cargo.toml + - name: RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo test + run: cargo test + env: + RUSTFLAGS: --cfg procmacro2_semver_exempt ${{env.RUSTFLAGS}} + - name: RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo test --no-default-features + run: cargo test --no-default-features + env: + RUSTFLAGS: --cfg procmacro2_semver_exempt ${{env.RUSTFLAGS}} + - name: RUSTFLAGS='-Z allow-features=' cargo test + run: cargo test + env: + RUSTFLAGS: -Z allow-features= --cfg procmacro2_backtrace ${{env.RUSTFLAGS}} + + msrv: + name: Rust 1.56.0 + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@1.56.0 + with: + components: rust-src + - run: cargo check + - run: cargo check --no-default-features + - run: cargo check --features span-locations + - name: RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo check + run: cargo check + env: + RUSTFLAGS: --cfg procmacro2_semver_exempt ${{env.RUSTFLAGS}} + - name: RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo check --no-default-features + run: cargo check --no-default-features + env: + RUSTFLAGS: --cfg procmacro2_semver_exempt ${{env.RUSTFLAGS}} + + minimal: + name: Minimal versions + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - run: cargo generate-lockfile -Z minimal-versions + - run: cargo check --locked + + webassembly: + name: WebAssembly + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + target: wasm32-unknown-unknown + components: rust-src + - run: cargo test --target wasm32-unknown-unknown --no-run + + fuzz: + name: Fuzz + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rust-src + - uses: dtolnay/install@cargo-fuzz + - run: cargo fuzz check + - run: cargo check --no-default-features --features afl + working-directory: fuzz + - uses: dtolnay/install@honggfuzz + - run: sudo apt-get update # https://github.com/actions/runner-images/issues/8953 + - run: sudo apt-get install binutils-dev libunwind-dev + - run: cargo hfuzz build --no-default-features --features honggfuzz + working-directory: fuzz + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rust-src + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: clippy, rust-src + - run: cargo clippy --tests -- -Dclippy::all -Dclippy::pedantic + - run: cargo clippy --tests --all-features -- -Dclippy::all -Dclippy::pedantic + + miri: + name: Miri + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@miri + - run: cargo miri setup + - run: cargo miri test + env: + MIRIFLAGS: -Zmiri-strict-provenance + + outdated: + name: Outdated + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: dtolnay/install@cargo-outdated + - run: cargo outdated --workspace --exit-code 1 + - run: cargo outdated --manifest-path fuzz/Cargo.toml --exit-code 1 diff --git a/vendor/proc-macro2/Cargo.toml.orig b/vendor/proc-macro2/Cargo.toml.orig new file mode 100644 index 0000000000..0c1ddb3a21 --- /dev/null +++ b/vendor/proc-macro2/Cargo.toml.orig @@ -0,0 +1,62 @@ +[package] +name = "proc-macro2" +version = "1.0.80" +authors = ["David Tolnay ", "Alex Crichton "] +autobenches = false +categories = ["development-tools::procedural-macro-helpers"] +description = "A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case." +documentation = "https://docs.rs/proc-macro2" +edition = "2021" +keywords = ["macros", "syn"] +license = "MIT OR Apache-2.0" +repository = "https://github.com/dtolnay/proc-macro2" +rust-version = "1.56" + +[package.metadata.docs.rs] +rustc-args = ["--cfg", "procmacro2_semver_exempt"] +rustdoc-args = ["--cfg", "procmacro2_semver_exempt", "--cfg", "doc_cfg", "--generate-link-to-definition"] +targets = ["x86_64-unknown-linux-gnu"] + +[package.metadata.playground] +features = ["span-locations"] + +[dependencies] +unicode-ident = "1.0" + +[dev-dependencies] +flate2 = "1.0" +quote = { version = "1.0", default_features = false } +rayon = "1.0" +rustversion = "1" +tar = "0.4" + +[features] +proc-macro = [] +default = ["proc-macro"] + +# Expose methods Span::start and Span::end which give the line/column location +# of a token. +span-locations = [] + +# This feature no longer means anything. +nightly = [] + +[lib] +doc-scrape-examples = false + +[workspace] +members = ["benches/bench-libproc-macro", "tests/ui"] + +[patch.crates-io] +# Our doc tests depend on quote which depends on proc-macro2. Without this line, +# the proc-macro2 dependency of quote would be the released version of +# proc-macro2. Quote would implement its traits for types from that proc-macro2, +# meaning impls would be missing when tested against types from the local +# proc-macro2. +# +# GitHub Actions builds that are in progress at the time that you publish may +# spuriously fail. This is because they'll be building a local proc-macro2 which +# carries the second-most-recent version number, pulling in quote which resolves +# to a dependency on the just-published most recent version number. Thus the +# patch will fail to apply because the version numbers are different. +proc-macro2 = { path = "." } diff --git a/vendor/quote/.cargo_vcs_info.json b/vendor/quote/.cargo_vcs_info.json new file mode 100644 index 0000000000..90ccbb86a9 --- /dev/null +++ b/vendor/quote/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "ab1e92c27a492e6077e203a6f85496bb4b1522e8" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/quote/.github/FUNDING.yml b/vendor/quote/.github/FUNDING.yml new file mode 100644 index 0000000000..750707701c --- /dev/null +++ b/vendor/quote/.github/FUNDING.yml @@ -0,0 +1 @@ +github: dtolnay diff --git a/vendor/quote/.github/workflows/ci.yml b/vendor/quote/.github/workflows/ci.yml new file mode 100644 index 0000000000..189f23073c --- /dev/null +++ b/vendor/quote/.github/workflows/ci.yml @@ -0,0 +1,110 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + pre_ci: + uses: dtolnay/.github/.github/workflows/pre_ci.yml@master + + test: + name: Rust ${{matrix.rust}} + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [nightly, stable, beta, 1.56.0] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + components: rust-src + - name: Enable type layout randomization + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - run: cargo test + - run: cargo run --manifest-path benches/Cargo.toml + - uses: actions/upload-artifact@v4 + if: matrix.rust == 'nightly' && always() + with: + name: Cargo.lock + path: Cargo.lock + continue-on-error: true + + minimal: + name: Minimal versions + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - run: cargo generate-lockfile -Z minimal-versions + - run: cargo check --locked + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rust-src + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: clippy, rust-src + - run: cargo clippy --tests --workspace -- -Dclippy::all -Dclippy::pedantic + + miri: + name: Miri + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@miri + - run: cargo miri setup + - run: cargo miri test + env: + MIRIFLAGS: -Zmiri-strict-provenance + + outdated: + name: Outdated + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: dtolnay/install@cargo-outdated + - run: cargo outdated --workspace --exit-code 1 diff --git a/vendor/quote/Cargo.lock b/vendor/quote/Cargo.lock new file mode 100644 index 0000000000..1c772afd71 --- /dev/null +++ b/vendor/quote/Cargo.lock @@ -0,0 +1,302 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "dissimilar" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8975ffdaa0ef3661bfe02dbdcc06c9f829dfafe6a3c474de366a8d5e44276921" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "glob" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" + +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" + +[[package]] +name = "indexmap" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "proc-macro2" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "quote" +version = "1.0.40" +dependencies = [ + "proc-macro2", + "rustversion", + "trybuild", +] + +[[package]] +name = "rustversion" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote 1.0.39", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "syn" +version = "2.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +dependencies = [ + "proc-macro2", + "quote 1.0.39", + "unicode-ident", +] + +[[package]] +name = "target-triple" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790" + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "toml" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "trybuild" +version = "1.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ae08be68c056db96f0e6c6dd820727cca756ced9e1f4cc7fdd20e2a55e23898" +dependencies = [ + "dissimilar", + "glob", + "serde", + "serde_derive", + "serde_json", + "target-triple", + "termcolor", + "toml", +] + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7f4ea97f6f78012141bcdb6a216b2609f0979ada50b20ca5b52dde2eac2bb1" +dependencies = [ + "memchr", +] diff --git a/vendor/quote/Cargo.toml.orig b/vendor/quote/Cargo.toml.orig new file mode 100644 index 0000000000..0459f520d1 --- /dev/null +++ b/vendor/quote/Cargo.toml.orig @@ -0,0 +1,38 @@ +[package] +name = "quote" +version = "1.0.40" +authors = ["David Tolnay "] +autobenches = false +categories = ["development-tools::procedural-macro-helpers"] +description = "Quasi-quoting macro quote!(...)" +documentation = "https://docs.rs/quote/" +edition = "2018" +keywords = ["macros", "syn"] +license = "MIT OR Apache-2.0" +repository = "https://github.com/dtolnay/quote" +rust-version = "1.56" + +[dependencies] +proc-macro2 = { version = "1.0.80", default-features = false } + +[dev-dependencies] +rustversion = "1.0" +trybuild = { version = "1.0.66", features = ["diff"] } + +[features] +default = ["proc-macro"] +# Disabling the proc-macro feature removes the dynamic library dependency on +# libproc_macro in the rustc compiler. +proc-macro = ["proc-macro2/proc-macro"] + +[workspace] +members = ["benches"] + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = [ + "--generate-link-to-definition", + "--extern-html-root-url=core=https://doc.rust-lang.org", + "--extern-html-root-url=alloc=https://doc.rust-lang.org", + "--extern-html-root-url=std=https://doc.rust-lang.org", +] diff --git a/vendor/rand/.cargo_vcs_info.json b/vendor/rand/.cargo_vcs_info.json new file mode 100644 index 0000000000..681c31df67 --- /dev/null +++ b/vendor/rand/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "937320cbfeebd4352a23086d9c6e68f067f74644" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/rand/Cargo.lock b/vendor/rand/Cargo.lock new file mode 100644 index 0000000000..631e46ad82 --- /dev/null +++ b/vendor/rand/Cargo.lock @@ -0,0 +1,170 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "libc" +version = "0.2.112" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125" + +[[package]] +name = "libm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "packed_simd_2" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defdcfef86dcc44ad208f71d9ff4ce28df6537a4e0d6b0e8e845cb8ca10059a6" +dependencies = [ + "cfg-if", + "libm", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" + +[[package]] +name = "proc-macro2" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +dependencies = [ + "bincode", + "libc", + "log", + "packed_simd_2", + "rand_chacha", + "rand_core", + "rand_pcg", + "serde", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom", + "serde", +] + +[[package]] +name = "rand_pcg" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" +dependencies = [ + "rand_core", +] + +[[package]] +name = "serde" +version = "1.0.133" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97565067517b60e2d1ea8b268e59ce036de907ac523ad83a0475da04e818989a" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.133" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed201699328568d8d08208fdd080e3ff594e6c422e438b6705905da01005d537" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "syn" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a684ac3dcd8913827e18cd09a68384ee66c1de24157e3c556c9ab16d85695fb7" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" diff --git a/vendor/rand/Cargo.toml.orig b/vendor/rand/Cargo.toml.orig new file mode 100644 index 0000000000..98ba373c68 --- /dev/null +++ b/vendor/rand/Cargo.toml.orig @@ -0,0 +1,85 @@ +[package] +name = "rand" +version = "0.8.5" +authors = ["The Rand Project Developers", "The Rust Project Developers"] +license = "MIT OR Apache-2.0" +readme = "README.md" +repository = "https://github.com/rust-random/rand" +documentation = "https://docs.rs/rand" +homepage = "https://rust-random.github.io/book" +description = """ +Random number generators and other randomness functionality. +""" +keywords = ["random", "rng"] +categories = ["algorithms", "no-std"] +autobenches = true +edition = "2018" +include = ["src/", "LICENSE-*", "README.md", "CHANGELOG.md", "COPYRIGHT"] + +[package.metadata.docs.rs] +# To build locally: +# RUSTDOCFLAGS="--cfg doc_cfg" cargo +nightly doc --all-features --no-deps --open +all-features = true +rustdoc-args = ["--cfg", "doc_cfg"] + +[package.metadata.playground] +features = ["small_rng", "serde1"] + +[features] +# Meta-features: +default = ["std", "std_rng"] +nightly = [] # enables performance optimizations requiring nightly rust +serde1 = ["serde", "rand_core/serde1"] + +# Option (enabled by default): without "std" rand uses libcore; this option +# enables functionality expected to be available on a standard platform. +std = ["rand_core/std", "rand_chacha/std", "alloc", "getrandom", "libc"] + +# Option: "alloc" enables support for Vec and Box when not using "std" +alloc = ["rand_core/alloc"] + +# Option: use getrandom package for seeding +getrandom = ["rand_core/getrandom"] + +# Option (requires nightly): experimental SIMD support +simd_support = ["packed_simd"] + +# Option (enabled by default): enable StdRng +std_rng = ["rand_chacha"] + +# Option: enable SmallRng +small_rng = [] + +# Option: for rustc ≥ 1.51, enable generating random arrays of any size +# using min-const-generics +min_const_gen = [] + +[workspace] +members = [ + "rand_core", + "rand_distr", + "rand_chacha", + "rand_pcg", +] + +[dependencies] +rand_core = { path = "rand_core", version = "0.6.0" } +log = { version = "0.4.4", optional = true } +serde = { version = "1.0.103", features = ["derive"], optional = true } +rand_chacha = { path = "rand_chacha", version = "0.3.0", default-features = false, optional = true } + +[dependencies.packed_simd] +# NOTE: so far no version works reliably due to dependence on unstable features +package = "packed_simd_2" +version = "0.3.7" +optional = true +features = ["into_bits"] + +[target.'cfg(unix)'.dependencies] +# Used for fork protection (reseeding.rs) +libc = { version = "0.2.22", optional = true, default-features = false } + +[dev-dependencies] +rand_pcg = { path = "rand_pcg", version = "0.3.0" } +# Only to test serde1 +bincode = "1.2.1" diff --git a/vendor/rand_core/.cargo_vcs_info.json b/vendor/rand_core/.cargo_vcs_info.json new file mode 100644 index 0000000000..4787b56330 --- /dev/null +++ b/vendor/rand_core/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "89a1336b934c68ddce548127c6f8afd910b35a18" + }, + "path_in_vcs": "rand_core" +} \ No newline at end of file diff --git a/vendor/rand_core/Cargo.toml.orig b/vendor/rand_core/Cargo.toml.orig new file mode 100644 index 0000000000..bfaa029bad --- /dev/null +++ b/vendor/rand_core/Cargo.toml.orig @@ -0,0 +1,33 @@ +[package] +name = "rand_core" +version = "0.6.4" +authors = ["The Rand Project Developers", "The Rust Project Developers"] +license = "MIT OR Apache-2.0" +readme = "README.md" +repository = "https://github.com/rust-random/rand" +documentation = "https://docs.rs/rand_core" +homepage = "https://rust-random.github.io/book" +description = """ +Core random number generator traits and tools for implementation. +""" +keywords = ["random", "rng"] +categories = ["algorithms", "no-std"] +edition = "2018" + +[package.metadata.docs.rs] +# To build locally: +# RUSTDOCFLAGS="--cfg doc_cfg" cargo +nightly doc --all-features --no-deps --open +all-features = true +rustdoc-args = ["--cfg", "doc_cfg"] + +[package.metadata.playground] +all-features = true + +[features] +std = ["alloc", "getrandom", "getrandom/std"] # use std library; should be default but for above bug +alloc = [] # enables Vec and Box support without std +serde1 = ["serde"] # enables serde for BlockRng wrapper + +[dependencies] +serde = { version = "1", features = ["derive"], optional = true } +getrandom = { version = "0.2", optional = true } diff --git a/vendor/redox_syscall/.cargo_vcs_info.json b/vendor/redox_syscall/.cargo_vcs_info.json new file mode 100644 index 0000000000..683bfbe5fe --- /dev/null +++ b/vendor/redox_syscall/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "15aa8e32ef0f3328dd9d48cc8ca02e148a362069" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/redox_syscall/.gitlab-ci.yml b/vendor/redox_syscall/.gitlab-ci.yml new file mode 100644 index 0000000000..fa9182fae5 --- /dev/null +++ b/vendor/redox_syscall/.gitlab-ci.yml @@ -0,0 +1,16 @@ +image: "redoxos/redoxer" + +stages: + - build + +cache: + paths: + - target/ + +build:linux: + stage: build + script: cargo +nightly build --verbose + +build:redox: + stage: build + script: redoxer build --verbose diff --git a/vendor/redox_syscall/Cargo.lock b/vendor/redox_syscall/Cargo.lock new file mode 100644 index 0000000000..b06d8e60ac --- /dev/null +++ b/vendor/redox_syscall/Cargo.lock @@ -0,0 +1,457 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "bitflags" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +dependencies = [ + "compiler_builtins", + "rustc-std-workspace-core", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "compiler_builtins" +version = "0.1.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3b73c3443a5fd2438d7ba4853c64e4c8efc2404a9e28a9234cc2d5eebc6c242" + +[[package]] +name = "generator" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb949699c3e4df3a183b1d2142cb24277057055ed23c68ed58894f76c517223" +dependencies = [ + "cfg-if", + "libc", + "log", + "rustversion", + "windows", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.158" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "loom" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +dependencies = [ + "bitflags", + "loom", + "rustc-std-workspace-core", +] + +[[package]] +name = "regex" +version = "1.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "rustc-std-workspace-core" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1956f5517128a2b6f23ab2dadf1a976f4f5b27962e7724c2bf3d45e539ec098c" + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "syn" +version = "2.0.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "unicode-ident" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +dependencies = [ + "windows-core", + "windows-targets", +] + +[[package]] +name = "windows-core" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-strings", + "windows-targets", +] + +[[package]] +name = "windows-implement" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" diff --git a/vendor/redox_syscall/Cargo.toml.orig b/vendor/redox_syscall/Cargo.toml.orig new file mode 100644 index 0000000000..1090e6db43 --- /dev/null +++ b/vendor/redox_syscall/Cargo.toml.orig @@ -0,0 +1,25 @@ +[package] +name = "redox_syscall" +version = "0.5.18" +description = "A Rust library to access raw Redox system calls" +license = "MIT" +authors = ["Jeremy Soller "] +repository = "https://gitlab.redox-os.org/redox-os/syscall" +documentation = "https://docs.rs/redox_syscall" +edition = "2021" + +[lib] +name = "syscall" + +[features] +default = ["userspace"] +rustc-dep-of-std = ["core", "bitflags/rustc-dep-of-std"] +userspace = [] +std = [] + +[dependencies] +bitflags = "2.4" +core = { version = "1.0.0", optional = true, package = "rustc-std-workspace-core" } + +[target.'cfg(loom)'.dev-dependencies] +loom = "0.7" diff --git a/vendor/regex-syntax/.cargo_vcs_info.json b/vendor/regex-syntax/.cargo_vcs_info.json new file mode 100644 index 0000000000..734f7bebf6 --- /dev/null +++ b/vendor/regex-syntax/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "72d482f911c4057f9a31f7f434dfe27c929a8913" + }, + "path_in_vcs": "regex-syntax" +} \ No newline at end of file diff --git a/vendor/regex-syntax/Cargo.toml.orig b/vendor/regex-syntax/Cargo.toml.orig new file mode 100644 index 0000000000..be9aeb5689 --- /dev/null +++ b/vendor/regex-syntax/Cargo.toml.orig @@ -0,0 +1,33 @@ +[package] +name = "regex-syntax" +version = "0.6.29" #:version +authors = ["The Rust Project Developers"] +license = "MIT OR Apache-2.0" +repository = "https://github.com/rust-lang/regex" +documentation = "https://docs.rs/regex-syntax" +homepage = "https://github.com/rust-lang/regex" +description = "A regular expression parser." +workspace = ".." +edition = "2018" + +# Features are documented in the "Crate features" section of the crate docs: +# https://docs.rs/regex-syntax/*/#crate-features +[features] +default = ["unicode"] + +unicode = [ + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", +] +unicode-age = [] +unicode-bool = [] +unicode-case = [] +unicode-gencat = [] +unicode-perl = [] +unicode-script = [] +unicode-segment = [] diff --git a/vendor/regex/.cargo_vcs_info.json b/vendor/regex/.cargo_vcs_info.json new file mode 100644 index 0000000000..a82e28252c --- /dev/null +++ b/vendor/regex/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "9582040009820380a16819ca0d1ae262c7d454b0" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/regex/Cargo.toml.orig b/vendor/regex/Cargo.toml.orig new file mode 100644 index 0000000000..4c5bd1cc11 --- /dev/null +++ b/vendor/regex/Cargo.toml.orig @@ -0,0 +1,194 @@ +[package] +name = "regex" +version = "1.7.3" #:version +authors = ["The Rust Project Developers"] +license = "MIT OR Apache-2.0" +readme = "README.md" +repository = "https://github.com/rust-lang/regex" +documentation = "https://docs.rs/regex" +homepage = "https://github.com/rust-lang/regex" +description = """ +An implementation of regular expressions for Rust. This implementation uses +finite automata and guarantees linear time matching on all inputs. +""" +categories = ["text-processing"] +autotests = false +exclude = ["/scripts/*", "/.github/*"] +edition = "2018" + +[workspace] +members = [ + "bench", "regex-capi", "regex-debug", "regex-syntax", +] + +[lib] +# There are no benchmarks in the library code itself +bench = false +# Doc tests fail when some features aren't present. The easiest way to work +# around this is to disable automatic doc testing, but explicitly test them +# with `cargo test --doc`. +doctest = false + +# Features are documented in the "Crate features" section of the crate docs: +# https://docs.rs/regex/*/#crate-features +[features] +default = ["std", "perf", "unicode", "regex-syntax/default"] + +# ECOSYSTEM FEATURES + +# The 'std' feature permits the regex crate to use the standard library. This +# is intended to support future use cases where the regex crate may be able +# to compile without std, and instead just rely on 'core' and 'alloc' (for +# example). Currently, this isn't supported, and removing the 'std' feature +# will prevent regex from compiling. +std = [] +# The 'use_std' feature is DEPRECATED. It will be removed in regex 2. Until +# then, it is an alias for the 'std' feature. +use_std = ["std"] + + +# PERFORMANCE FEATURES + +# Enables all performance features. +perf = ["perf-cache", "perf-dfa", "perf-inline", "perf-literal"] +# Enables fast caching. (If disabled, caching is still used, but is slower.) +# Currently, this feature has no effect. It used to remove the thread_local +# dependency and use a slower internal cache, but now the default cache has +# been improved and thread_local is no longer a dependency at all. +perf-cache = [] +# Enables use of a lazy DFA when possible. +perf-dfa = [] +# Enables aggressive use of inlining. +perf-inline = [] +# Enables literal optimizations. +perf-literal = ["aho-corasick", "memchr"] + + +# UNICODE DATA FEATURES + +# Enables all Unicode features. This expands if new Unicode features are added. +unicode = [ + "unicode-age", + "unicode-bool", + "unicode-case", + "unicode-gencat", + "unicode-perl", + "unicode-script", + "unicode-segment", + "regex-syntax/unicode", +] +# Enables use of the `Age` property, e.g., `\p{Age:3.0}`. +unicode-age = ["regex-syntax/unicode-age"] +# Enables use of a smattering of boolean properties, e.g., `\p{Emoji}`. +unicode-bool = ["regex-syntax/unicode-bool"] +# Enables Unicode-aware case insensitive matching, e.g., `(?i)β`. +unicode-case = ["regex-syntax/unicode-case"] +# Enables Unicode general categories, e.g., `\p{Letter}` or `\pL`. +unicode-gencat = ["regex-syntax/unicode-gencat"] +# Enables Unicode-aware Perl classes corresponding to `\w`, `\s` and `\d`. +unicode-perl = ["regex-syntax/unicode-perl"] +# Enables Unicode scripts and script extensions, e.g., `\p{Greek}`. +unicode-script = ["regex-syntax/unicode-script"] +# Enables Unicode segmentation properties, e.g., `\p{gcb=Extend}`. +unicode-segment = ["regex-syntax/unicode-segment"] + + +# UNSTABLE FEATURES (requires Rust nightly) + +# A blanket feature that governs whether unstable features are enabled or not. +# Unstable features are disabled by default, and typically rely on unstable +# features in rustc itself. +unstable = ["pattern"] + +# Enable to use the unstable pattern traits defined in std. This is enabled +# by default if the unstable feature is enabled. +pattern = [] + +# For very fast prefix literal matching. +[dependencies.aho-corasick] +version = "0.7.18" +optional = true + +# For skipping along search text quickly when a leading byte is known. +[dependencies.memchr] +version = "2.4.0" +optional = true + +# For parsing regular expressions. +[dependencies.regex-syntax] +path = "regex-syntax" +version = "0.6.29" +default-features = false + +[dev-dependencies] +# For examples. +lazy_static = "1" +# For property based tests. +quickcheck = { version = "1.0.3", default-features = false } +# For generating random test data. +rand = { version = "0.8.3", default-features = false, features = ["getrandom", "small_rng"] } +# To check README's example +# TODO: Re-enable this once the MSRV is 1.43 or greater. +# See: https://github.com/rust-lang/regex/issues/684 +# See: https://github.com/rust-lang/regex/issues/685 +# doc-comment = "0.3" + +# Run the test suite on the default behavior of Regex::new. +# This includes a mish mash of NFAs and DFAs, which are chosen automatically +# based on the regex. We test both of the NFA implementations by forcing their +# usage with the test definitions below. (We can't test the DFA implementations +# in the same way since they can't be used for every regex tested.) +[[test]] +path = "tests/test_default.rs" +name = "default" + +# The same as the default tests, but run on bytes::Regex. +[[test]] +path = "tests/test_default_bytes.rs" +name = "default-bytes" + +# Run the test suite on the NFA algorithm over Unicode codepoints. +[[test]] +path = "tests/test_nfa.rs" +name = "nfa" + +# Run the test suite on the NFA algorithm over bytes that match UTF-8 only. +[[test]] +path = "tests/test_nfa_utf8bytes.rs" +name = "nfa-utf8bytes" + +# Run the test suite on the NFA algorithm over arbitrary bytes. +[[test]] +path = "tests/test_nfa_bytes.rs" +name = "nfa-bytes" + +# Run the test suite on the backtracking engine over Unicode codepoints. +[[test]] +path = "tests/test_backtrack.rs" +name = "backtrack" + +# Run the test suite on the backtracking engine over bytes that match UTF-8 +# only. +[[test]] +path = "tests/test_backtrack_utf8bytes.rs" +name = "backtrack-utf8bytes" + +# Run the test suite on the backtracking engine over arbitrary bytes. +[[test]] +path = "tests/test_backtrack_bytes.rs" +name = "backtrack-bytes" + +# Run all backends against each regex found on crates.io and make sure +# that they all do the same thing. +[[test]] +path = "tests/test_crates_regex.rs" +name = "crates-regex" + +[profile.release] +debug = true + +[profile.bench] +debug = true + +[profile.test] +debug = true diff --git a/vendor/rustversion/.cargo_vcs_info.json b/vendor/rustversion/.cargo_vcs_info.json new file mode 100644 index 0000000000..cc9203a9f4 --- /dev/null +++ b/vendor/rustversion/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "9e86f839b6a34a7d9398f243d88bf400b7fa1f7c" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/rustversion/.github/FUNDING.yml b/vendor/rustversion/.github/FUNDING.yml new file mode 100644 index 0000000000..750707701c --- /dev/null +++ b/vendor/rustversion/.github/FUNDING.yml @@ -0,0 +1 @@ +github: dtolnay diff --git a/vendor/rustversion/.github/workflows/ci.yml b/vendor/rustversion/.github/workflows/ci.yml new file mode 100644 index 0000000000..576292abb6 --- /dev/null +++ b/vendor/rustversion/.github/workflows/ci.yml @@ -0,0 +1,117 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + pre_ci: + uses: dtolnay/.github/.github/workflows/pre_ci.yml@master + + test: + name: Rust ${{matrix.rust}} + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [nightly, beta, stable, 1.56.0] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + - name: Enable type layout randomization + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - run: cargo test + - name: RUSTFLAGS=-Zfmt-debug=none cargo test + run: RUSTFLAGS=${RUSTFLAGS}\ -Zfmt-debug=none cargo test + if: matrix.rust == 'nightly' + - uses: actions/upload-artifact@v4 + if: matrix.rust == 'nightly' && always() + with: + name: Cargo.lock + path: Cargo.lock + continue-on-error: true + + windows: + name: Windows + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: windows-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - run: cargo test + + msrv: + name: Rust 1.31.0 + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@1.31.0 + - run: cargo check + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@clippy + - run: cargo clippy --tests -- -Dclippy::all -Dclippy::pedantic + + miri: + name: Miri + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@miri + - run: cargo miri setup + - run: cargo miri test + env: + MIRIFLAGS: -Zmiri-strict-provenance + + outdated: + name: Outdated + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: dtolnay/install@cargo-outdated + - run: cargo outdated --workspace --exit-code 1 diff --git a/vendor/rustversion/Cargo.lock b/vendor/rustversion/Cargo.lock new file mode 100644 index 0000000000..24133b3a58 --- /dev/null +++ b/vendor/rustversion/Cargo.lock @@ -0,0 +1,296 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "dissimilar" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8975ffdaa0ef3661bfe02dbdcc06c9f829dfafe6a3c474de366a8d5e44276921" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "glob" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" + +[[package]] +name = "indexmap" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "memchr" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +dependencies = [ + "trybuild", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.142" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +dependencies = [ + "serde", +] + +[[package]] +name = "syn" +version = "2.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "target-triple" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790" + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "toml" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "toml_parser", + "toml_writer", + "winnow", +] + +[[package]] +name = "toml_datetime" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_parser" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" +dependencies = [ + "winnow", +] + +[[package]] +name = "toml_writer" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" + +[[package]] +name = "trybuild" +version = "1.0.110" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e257d7246e7a9fd015fb0b28b330a8d4142151a33f03e6a497754f4b1f6a8e" +dependencies = [ + "dissimilar", + "glob", + "serde", + "serde_derive", + "serde_json", + "target-triple", + "termcolor", + "toml", +] + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" diff --git a/vendor/rustversion/Cargo.toml.orig b/vendor/rustversion/Cargo.toml.orig new file mode 100644 index 0000000000..d009641653 --- /dev/null +++ b/vendor/rustversion/Cargo.toml.orig @@ -0,0 +1,28 @@ +[package] +name = "rustversion" +version = "1.0.22" +authors = ["David Tolnay "] +build = "build/build.rs" +categories = ["development-tools::build-utils", "no-std", "no-std::no-alloc"] +description = "Conditional compilation according to rustc compiler version" +documentation = "https://docs.rs/rustversion" +edition = "2018" +license = "MIT OR Apache-2.0" +repository = "https://github.com/dtolnay/rustversion" +rust-version = "1.31" + +[lib] +proc-macro = true + +[dev-dependencies] +trybuild = { version = "1.0.49", features = ["diff"] } + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = [ + "--generate-link-to-definition", + "--extern-html-root-url=core=https://doc.rust-lang.org", + "--extern-html-root-url=alloc=https://doc.rust-lang.org", + "--extern-html-root-url=std=https://doc.rust-lang.org", + "--extern-html-root-url=proc_macro=https://doc.rust-lang.org", +] diff --git a/vendor/ryu/.cargo_vcs_info.json b/vendor/ryu/.cargo_vcs_info.json new file mode 100644 index 0000000000..69a162e31a --- /dev/null +++ b/vendor/ryu/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "02237f8751db162e9ed0f5bd3e7135d1b256822e" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/ryu/.github/FUNDING.yml b/vendor/ryu/.github/FUNDING.yml new file mode 100644 index 0000000000..750707701c --- /dev/null +++ b/vendor/ryu/.github/FUNDING.yml @@ -0,0 +1 @@ +github: dtolnay diff --git a/vendor/ryu/.github/workflows/ci.yml b/vendor/ryu/.github/workflows/ci.yml new file mode 100644 index 0000000000..586e553b9c --- /dev/null +++ b/vendor/ryu/.github/workflows/ci.yml @@ -0,0 +1,120 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + pre_ci: + uses: dtolnay/.github/.github/workflows/pre_ci.yml@master + + test: + name: Rust ${{matrix.rust}} + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [nightly, beta, stable] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + - name: Enable type layout randomization + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - run: cargo test + - run: cargo test --features small + - run: cargo build --tests --features no-panic --release + if: matrix.rust == 'nightly' + - uses: actions/upload-artifact@v4 + if: matrix.rust == 'nightly' && always() + with: + name: Cargo.lock + path: Cargo.lock + continue-on-error: true + + msrv: + name: Rust 1.36.0 + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@1.36.0 + - run: cargo build + - run: cargo build --features small + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + miri: + name: Miri + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@miri + - run: cargo miri setup + - run: cargo miri test + env: + MIRIFLAGS: -Zmiri-strict-provenance + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@clippy + - run: cargo clippy --tests --benches -- -Dclippy::all -Dclippy::pedantic + + outdated: + name: Outdated + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: dtolnay/install@cargo-outdated + - run: cargo outdated --workspace --exit-code 1 + - run: cargo outdated --manifest-path fuzz/Cargo.toml --exit-code 1 + + fuzz: + name: Fuzz + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-fuzz + - run: cargo fuzz check diff --git a/vendor/ryu/Cargo.toml.orig b/vendor/ryu/Cargo.toml.orig new file mode 100644 index 0000000000..5aa7c9de07 --- /dev/null +++ b/vendor/ryu/Cargo.toml.orig @@ -0,0 +1,37 @@ +[package] +name = "ryu" +version = "1.0.20" +authors = ["David Tolnay "] +categories = ["value-formatting", "no-std", "no-std::no-alloc"] +description = "Fast floating point to string conversion" +documentation = "https://docs.rs/ryu" +edition = "2018" +exclude = ["build.rs", "performance.png", "chart/**"] +keywords = ["float"] +license = "Apache-2.0 OR BSL-1.0" +repository = "https://github.com/dtolnay/ryu" +rust-version = "1.36" + +[features] +# Use smaller lookup tables. Instead of storing every required power of +# 5, only store every 26th entry, and compute intermediate values with a +# multiplication. This reduces the lookup table size by about 10x (only +# one case, and only f64) at the cost of some performance. +small = [] + +[dependencies] +no-panic = { version = "0.1", optional = true } + +[dev-dependencies] +num_cpus = "1.8" +rand = "0.9" +rand_xorshift = "0.4" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = [ + "--generate-link-to-definition", + "--extern-html-root-url=core=https://doc.rust-lang.org", + "--extern-html-root-url=alloc=https://doc.rust-lang.org", + "--extern-html-root-url=std=https://doc.rust-lang.org", +] diff --git a/vendor/scopeguard/.cargo_vcs_info.json b/vendor/scopeguard/.cargo_vcs_info.json new file mode 100644 index 0000000000..f0a14e9121 --- /dev/null +++ b/vendor/scopeguard/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "bb988222848d39b0b9037b29da3a3a1eb05ebf4b" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/scopeguard/.github/workflows/ci.yaml b/vendor/scopeguard/.github/workflows/ci.yaml new file mode 100644 index 0000000000..9eef84903a --- /dev/null +++ b/vendor/scopeguard/.github/workflows/ci.yaml @@ -0,0 +1,49 @@ +name: CI + +on: + - push + - pull_request + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - stable + - beta + - nightly + - 1.20.0 # MSRV + steps: + - uses: actions/checkout@v2 + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - name: Build + run: cargo build + - name: Run tests + run: cargo test + - name: Run tests (without default features) + run: cargo test --no-default-features + + no_std: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Test no_std support + run: | + rustup target add thumbv6m-none-eabi + cargo build --no-default-features --target thumbv6m-none-eabi + + format: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Check formatting + run: cargo fmt -- --check diff --git a/vendor/scopeguard/Cargo.toml.orig b/vendor/scopeguard/Cargo.toml.orig new file mode 100644 index 0000000000..04c8e84388 --- /dev/null +++ b/vendor/scopeguard/Cargo.toml.orig @@ -0,0 +1,26 @@ +[package] +name = "scopeguard" +version = "1.2.0" + +license = "MIT OR Apache-2.0" +repository = "https://github.com/bluss/scopeguard" +documentation = "https://docs.rs/scopeguard/" +authors = ["bluss"] + +description = """ +A RAII scope guard that will run a given closure when it goes out of scope, +even if the code between panics (assuming unwinding panic). + +Defines the macros `defer!`, `defer_on_unwind!`, `defer_on_success!` as +shorthands for guards with one of the implemented strategies. +""" + +keywords = ["scope-guard", "defer", "panic", "unwind"] +categories = ["rust-patterns", "no-std"] + +[features] +default = ["use_std"] +use_std = [] + +[package.metadata.release] +no-dev-version = true diff --git a/vendor/semver/.cargo_vcs_info.json b/vendor/semver/.cargo_vcs_info.json new file mode 100644 index 0000000000..4f34e3cfa0 --- /dev/null +++ b/vendor/semver/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "3e64fdbfce78bfbd2eb97bdbdc50ce4d62c9831b" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/semver/.github/FUNDING.yml b/vendor/semver/.github/FUNDING.yml new file mode 100644 index 0000000000..750707701c --- /dev/null +++ b/vendor/semver/.github/FUNDING.yml @@ -0,0 +1 @@ +github: dtolnay diff --git a/vendor/semver/.github/workflows/ci.yml b/vendor/semver/.github/workflows/ci.yml new file mode 100644 index 0000000000..2808a6f501 --- /dev/null +++ b/vendor/semver/.github/workflows/ci.yml @@ -0,0 +1,140 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + pre_ci: + uses: dtolnay/.github/.github/workflows/pre_ci.yml@master + + test: + name: Rust ${{matrix.rust}} + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [nightly, beta, stable, 1.52.0, 1.46.0, 1.40.0, 1.39.0, 1.36.0, 1.33.0, 1.32.0, 1.31.0] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + - name: Enable type layout randomization + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - run: cargo test + - run: cargo check --no-default-features + - run: cargo check --features serde + - run: cargo check --no-default-features --features serde + - uses: actions/upload-artifact@v4 + if: matrix.rust == 'nightly' && always() + with: + name: Cargo.lock + path: Cargo.lock + continue-on-error: true + + node: + name: Node + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - run: npm install semver + - run: cargo test + env: + RUSTFLAGS: --cfg test_node_semver ${{env.RUSTFLAGS}} + + minimal: + name: Minimal versions + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - run: cargo generate-lockfile -Z minimal-versions + - run: cargo check --locked --features serde + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@clippy + - run: cargo clippy --tests --benches -- -Dclippy::all -Dclippy::pedantic + + miri: + name: Miri + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + env: + MIRIFLAGS: -Zmiri-strict-provenance + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@miri + - name: Run cargo miri test (64-bit little endian) + run: cargo miri test --target x86_64-unknown-linux-gnu + - name: Run cargo miri test (64-bit big endian) + run: cargo miri test --target powerpc64-unknown-linux-gnu + - name: Run cargo miri test (32-bit little endian) + run: cargo miri test --target i686-unknown-linux-gnu + - name: Run cargo miri test (32-bit big endian) + run: cargo miri test --target mips-unknown-linux-gnu + + fuzz: + name: Fuzz + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-fuzz + - run: cargo fuzz check + + outdated: + name: Outdated + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: dtolnay/install@cargo-outdated + - run: cargo outdated --workspace --exit-code 1 + - run: cargo outdated --manifest-path fuzz/Cargo.toml --exit-code 1 diff --git a/vendor/semver/Cargo.lock b/vendor/semver/Cargo.lock new file mode 100644 index 0000000000..3cc4c29d51 --- /dev/null +++ b/vendor/semver/Cargo.lock @@ -0,0 +1,65 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "proc-macro2" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "semver" +version = "1.0.26" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.218" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.218" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "syn" +version = "2.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e02e925281e18ffd9d640e234264753c43edc62d64b2d4cf898f1bc5e75f3fc2" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" diff --git a/vendor/semver/Cargo.toml.orig b/vendor/semver/Cargo.toml.orig new file mode 100644 index 0000000000..ff91eb8e9f --- /dev/null +++ b/vendor/semver/Cargo.toml.orig @@ -0,0 +1,31 @@ +[package] +name = "semver" +version = "1.0.26" +authors = ["David Tolnay "] +categories = ["data-structures", "no-std"] +description = "Parser and evaluator for Cargo's flavor of Semantic Versioning" +documentation = "https://docs.rs/semver" +edition = "2018" +keywords = ["cargo"] +license = "MIT OR Apache-2.0" +repository = "https://github.com/dtolnay/semver" +rust-version = "1.31" + +[features] +default = ["std"] +std = [] + +[dependencies] +serde = { version = "1.0.194", optional = true, default-features = false } + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = [ + "--generate-link-to-definition", + "--extern-html-root-url=core=https://doc.rust-lang.org", + "--extern-html-root-url=alloc=https://doc.rust-lang.org", + "--extern-html-root-url=std=https://doc.rust-lang.org", +] + +[package.metadata.playground] +features = ["serde"] diff --git a/vendor/serde/.cargo_vcs_info.json b/vendor/serde/.cargo_vcs_info.json new file mode 100644 index 0000000000..4dd830f825 --- /dev/null +++ b/vendor/serde/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "89c4b02bf32ceae5b17d89f93a452ccc195ca038" + }, + "path_in_vcs": "serde" +} \ No newline at end of file diff --git a/vendor/serde/Cargo.toml.orig b/vendor/serde/Cargo.toml.orig new file mode 100644 index 0000000000..b6ad57682d --- /dev/null +++ b/vendor/serde/Cargo.toml.orig @@ -0,0 +1,69 @@ +[package] +name = "serde" +version = "1.0.210" +authors = ["Erick Tryzelaar ", "David Tolnay "] +build = "build.rs" +categories = ["encoding", "no-std", "no-std::no-alloc"] +description = "A generic serialization/deserialization framework" +documentation = "https://docs.rs/serde" +edition = "2018" +homepage = "https://serde.rs" +keywords = ["serde", "serialization", "no_std"] +license = "MIT OR Apache-2.0" +readme = "crates-io.md" +repository = "https://github.com/serde-rs/serde" +rust-version = "1.31" + +[dependencies] +serde_derive = { version = "1", optional = true, path = "../serde_derive" } + +[dev-dependencies] +serde_derive = { version = "1", path = "../serde_derive" } + +[lib] +doc-scrape-examples = false + +[package.metadata.playground] +features = ["derive", "rc"] + +[package.metadata.docs.rs] +features = ["derive", "rc", "unstable"] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = ["--generate-link-to-definition"] + +# This cfg cannot be enabled, but it still forces Cargo to keep serde_derive's +# version in lockstep with serde's, even if someone depends on the two crates +# separately with serde's "derive" feature disabled. Every serde_derive release +# is compatible with exactly one serde release because the generated code +# involves nonpublic APIs which are not bound by semver. +[target.'cfg(any())'.dependencies] +serde_derive = { version = "=1.0.210", path = "../serde_derive" } + + +### FEATURES ################################################################# + +[features] +default = ["std"] + +# Provide derive(Serialize, Deserialize) macros. +derive = ["serde_derive"] + +# Provide impls for common standard library types like Vec and HashMap. +# Requires a dependency on the Rust standard library. +std = [] + +# Provide impls for types that require unstable functionality. For tracking and +# discussion of unstable functionality please refer to this issue: +# +# https://github.com/serde-rs/serde/issues/812 +unstable = [] + +# Provide impls for types in the Rust core allocation and collections library +# including String, Box, Vec, and Cow. This is a subset of std but may +# be enabled without depending on all of std. +alloc = [] + +# Opt into impls for Rc and Arc. Serializing and deserializing these types +# does not preserve identity and may result in multiple copies of the same data. +# Be sure that this is what you want before enabling this feature. +rc = [] diff --git a/vendor/serde_derive/.cargo_vcs_info.json b/vendor/serde_derive/.cargo_vcs_info.json new file mode 100644 index 0000000000..f34c2228f2 --- /dev/null +++ b/vendor/serde_derive/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "89c4b02bf32ceae5b17d89f93a452ccc195ca038" + }, + "path_in_vcs": "serde_derive" +} \ No newline at end of file diff --git a/vendor/serde_derive/Cargo.toml.orig b/vendor/serde_derive/Cargo.toml.orig new file mode 100644 index 0000000000..d6e5c24e60 --- /dev/null +++ b/vendor/serde_derive/Cargo.toml.orig @@ -0,0 +1,35 @@ +[package] +name = "serde_derive" +version = "1.0.210" +authors = ["Erick Tryzelaar ", "David Tolnay "] +categories = ["no-std", "no-std::no-alloc"] +description = "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]" +documentation = "https://serde.rs/derive.html" +edition = "2015" +exclude = ["build.rs"] +homepage = "https://serde.rs" +keywords = ["serde", "serialization", "no_std", "derive"] +license = "MIT OR Apache-2.0" +readme = "crates-io.md" +repository = "https://github.com/serde-rs/serde" +rust-version = "1.56" + +[features] +default = [] +deserialize_in_place = [] + +[lib] +name = "serde_derive" +proc-macro = true + +[dependencies] +proc-macro2 = { workspace = true, features = ["proc-macro"] } +quote = { workspace = true, features = ["proc-macro"] } +syn = { workspace = true, features = ["clone-impls", "derive", "parsing", "printing", "proc-macro"] } + +[dev-dependencies] +serde = { version = "1", path = "../serde" } + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/vendor/serde_json/.cargo_vcs_info.json b/vendor/serde_json/.cargo_vcs_info.json new file mode 100644 index 0000000000..d10ff6e052 --- /dev/null +++ b/vendor/serde_json/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "10102c49bfd95e5b8d42a6c0b9530b1732a6fea8" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/serde_json/.github/workflows/ci.yml b/vendor/serde_json/.github/workflows/ci.yml new file mode 100644 index 0000000000..77d611a090 --- /dev/null +++ b/vendor/serde_json/.github/workflows/ci.yml @@ -0,0 +1,156 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + test: + name: Rust nightly ${{matrix.os == 'windows' && '(windows)' || ''}} + runs-on: ${{matrix.os}}-latest + strategy: + fail-fast: false + matrix: + os: [ubuntu, windows] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - run: cargo test + - run: cargo test --features preserve_order --tests -- --skip ui --exact + - run: cargo test --features float_roundtrip --tests -- --skip ui --exact + - run: cargo test --features arbitrary_precision --tests -- --skip ui --exact + - run: cargo test --features float_roundtrip,arbitrary_precision --tests -- --skip ui --exact + - run: cargo test --features raw_value --tests -- --skip ui --exact + - run: cargo test --features unbounded_depth --tests -- --skip ui --exact + - uses: actions/upload-artifact@v4 + if: matrix.os == 'ubuntu' && always() + with: + name: Cargo.lock + path: Cargo.lock + continue-on-error: true + + build: + name: Rust ${{matrix.rust}} ${{matrix.os == 'windows' && '(windows)' || ''}} + runs-on: ${{matrix.os}}-latest + strategy: + fail-fast: false + matrix: + rust: [beta, 1.65.0, 1.56.1] + os: [ubuntu] + include: + - rust: stable + os: ubuntu + target: aarch64-unknown-none + - rust: stable + os: windows + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + targets: ${{matrix.target}} + - run: cargo check --manifest-path tests/crate/Cargo.toml + - run: cargo check --manifest-path tests/crate/Cargo.toml --features float_roundtrip + - run: cargo check --manifest-path tests/crate/Cargo.toml --features arbitrary_precision + - run: cargo check --manifest-path tests/crate/Cargo.toml --features raw_value + - run: cargo check --manifest-path tests/crate/Cargo.toml --features unbounded_depth + - run: cargo check --manifest-path tests/crate/Cargo.toml --no-default-features --features alloc + - run: cargo check --manifest-path tests/crate/Cargo.toml --no-default-features --features alloc,arbitrary_precision + - run: cargo check --manifest-path tests/crate/Cargo.toml --no-default-features --features alloc,raw_value + - run: cargo check --manifest-path tests/crate/Cargo.toml --features serde_json/preserve_order + if: matrix.rust != '1.56.1' + - run: cargo check --manifest-path tests/crate/Cargo.toml --no-default-features --features alloc,serde_json/preserve_order + if: matrix.rust != '1.56.1' + - name: Build without std + run: cargo check --manifest-path tests/crate/Cargo.toml --target ${{matrix.target}} --no-default-features --features alloc + if: matrix.target + + minimal: + name: Minimal versions + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - run: cargo generate-lockfile -Z minimal-versions + - run: cargo check --locked + + miri: + name: Miri (${{matrix.name}}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - name: 64-bit little endian + target: x86_64-unknown-linux-gnu + - name: 64-bit big endian + target: powerpc64-unknown-linux-gnu + - name: 32-bit little endian + target: i686-unknown-linux-gnu + - name: 32-bit big endian + target: mips-unknown-linux-gnu + env: + MIRIFLAGS: -Zmiri-strict-provenance + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@miri + - run: cargo miri setup + - run: cargo miri test --target ${{matrix.target}} + - run: cargo miri test --target ${{matrix.target}} --features preserve_order,float_roundtrip,arbitrary_precision,raw_value + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@clippy + - run: cargo clippy --tests -- -Dclippy::all -Dclippy::pedantic + - run: cargo clippy --all-features --tests -- -Dclippy::all -Dclippy::pedantic + + doc: + name: Documentation + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + fuzz: + name: Fuzz + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-fuzz + - run: cargo fuzz check + + outdated: + name: Outdated + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: dtolnay/install@cargo-outdated + - run: cargo outdated --exit-code 1 + - run: cargo outdated --manifest-path fuzz/Cargo.toml --exit-code 1 diff --git a/vendor/serde_json/Cargo.lock b/vendor/serde_json/Cargo.lock new file mode 100644 index 0000000000..71a8923399 --- /dev/null +++ b/vendor/serde_json/Cargo.lock @@ -0,0 +1,419 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "automod" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebb4bd301db2e2ca1f5be131c24eb8ebf2d9559bc3744419e93baf8ddea7e670" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "cc" +version = "1.2.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ee0f8803222ba5a7e2777dd72ca451868909b1ac410621b676adf07280e9b5f" +dependencies = [ + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" + +[[package]] +name = "dissimilar" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8975ffdaa0ef3661bfe02dbdcc06c9f829dfafe6a3c474de366a8d5e44276921" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "glob" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" + +[[package]] +name = "indexmap" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "indoc" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "libc" +version = "0.2.175" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" + +[[package]] +name = "memchr" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" + +[[package]] +name = "proc-macro2" +version = "1.0.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psm" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e944464ec8536cd1beb0bbfd96987eb5e3b72f2ecdafdc5c769a37f1fa2ae1f" +dependencies = [ + "cc", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_bytes" +version = "0.11.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.142" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_json" +version = "1.0.143" +dependencies = [ + "automod", + "indexmap", + "indoc", + "itoa", + "memchr", + "ref-cast", + "rustversion", + "ryu", + "serde", + "serde_bytes", + "serde_derive", + "serde_stacker", + "trybuild", +] + +[[package]] +name = "serde_spanned" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_stacker" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69c8defe6c780725cce4ec6ad3bd91e321baf6fa4e255df1f31e345d507ef01a" +dependencies = [ + "serde", + "stacker", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "stacker" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cddb07e32ddb770749da91081d8d0ac3a16f1a569a18b20348cd371f5dead06b" +dependencies = [ + "cc", + "cfg-if", + "libc", + "psm", + "windows-sys", +] + +[[package]] +name = "syn" +version = "2.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "target-triple" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790" + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "toml" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "toml_parser", + "toml_writer", + "winnow", +] + +[[package]] +name = "toml_datetime" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_parser" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" +dependencies = [ + "winnow", +] + +[[package]] +name = "toml_writer" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" + +[[package]] +name = "trybuild" +version = "1.0.110" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e257d7246e7a9fd015fb0b28b330a8d4142151a33f03e6a497754f4b1f6a8e" +dependencies = [ + "dissimilar", + "glob", + "serde", + "serde_derive", + "serde_json 1.0.142", + "target-triple", + "termcolor", + "toml", +] + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" diff --git a/vendor/serde_json/Cargo.toml.orig b/vendor/serde_json/Cargo.toml.orig new file mode 100644 index 0000000000..4e7a02723e --- /dev/null +++ b/vendor/serde_json/Cargo.toml.orig @@ -0,0 +1,91 @@ +[package] +name = "serde_json" +version = "1.0.143" +authors = ["Erick Tryzelaar ", "David Tolnay "] +categories = ["encoding", "parser-implementations", "no-std"] +description = "A JSON serialization file format" +documentation = "https://docs.rs/serde_json" +edition = "2021" +keywords = ["json", "serde", "serialization"] +license = "MIT OR Apache-2.0" +repository = "https://github.com/serde-rs/json" +rust-version = "1.56" + +[dependencies] +indexmap = { version = "2.2.3", optional = true } +itoa = "1.0" +memchr = { version = "2", default-features = false } +ryu = "1.0" +serde = { version = "1.0.194", default-features = false } + +[dev-dependencies] +automod = "1.0.11" +indoc = "2.0.2" +ref-cast = "1.0.18" +rustversion = "1.0.13" +serde = { version = "1.0.194", features = ["derive"] } +serde_bytes = "0.11.10" +serde_derive = "1.0.166" +serde_stacker = "0.1.8" +trybuild = { version = "1.0.81", features = ["diff"] } + +[package.metadata.docs.rs] +features = ["preserve_order", "raw_value", "unbounded_depth"] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = [ + "--generate-link-to-definition", + "--extern-html-root-url=core=https://doc.rust-lang.org", + "--extern-html-root-url=alloc=https://doc.rust-lang.org", + "--extern-html-root-url=std=https://doc.rust-lang.org", +] + +[package.metadata.playground] +features = ["float_roundtrip", "raw_value", "unbounded_depth"] + + +### FEATURES ################################################################# + +[features] +default = ["std"] + +std = ["memchr/std", "serde/std"] + +# Provide integration for heap-allocated collections without depending on the +# rest of the Rust standard library. +# NOTE: Disabling both `std` *and* `alloc` features is not supported yet. +alloc = ["serde/alloc"] + +# Make serde_json::Map use a representation which maintains insertion order. +# This allows data to be read into a Value and written back to a JSON string +# while preserving the order of map keys in the input. +preserve_order = ["indexmap", "std"] + +# Use sufficient precision when parsing fixed precision floats from JSON to +# ensure that they maintain accuracy when round-tripped through JSON. This comes +# at an approximately 2x performance cost for parsing floats compared to the +# default best-effort precision. +# +# Unlike arbitrary_precision, this feature makes f64 -> JSON -> f64 produce +# output identical to the input. +float_roundtrip = [] + +# Use an arbitrary precision number representation for serde_json::Number. This +# allows JSON numbers of arbitrary size/precision to be read into a Number and +# written back to a JSON string without loss of precision. +# +# Unlike float_roundtrip, this feature makes JSON -> serde_json::Number -> JSON +# produce output identical to the input. +arbitrary_precision = [] + +# Provide a RawValue type that can hold unprocessed JSON during deserialization. +raw_value = [] + +# Provide a method disable_recursion_limit to parse arbitrarily deep JSON +# structures without any consideration for overflowing the stack. When using +# this feature, you will want to provide some other way to protect against stack +# overflows, such as by wrapping your Deserializer in the dynamically growing +# stack adapter provided by the serde_stacker crate. Additionally you will need +# to be careful around other recursive operations on the parsed result which may +# overflow the stack after deserialization has completed, including, but not +# limited to, Display and Debug and Drop impls. +unbounded_depth = [] diff --git a/vendor/smallvec/.cargo_vcs_info.json b/vendor/smallvec/.cargo_vcs_info.json new file mode 100644 index 0000000000..931891889f --- /dev/null +++ b/vendor/smallvec/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "d0f47a3ea99296498ee940b5d99f59b403c498a2" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/smallvec/.github/workflows/main.yml b/vendor/smallvec/.github/workflows/main.yml new file mode 100644 index 0000000000..e2e83f1b28 --- /dev/null +++ b/vendor/smallvec/.github/workflows/main.yml @@ -0,0 +1,114 @@ +name: CI + +on: + push: + branches: [v1] + pull_request: + workflow_dispatch: + merge_group: + types: [checks_requested] + +jobs: + ci: + name: Build/Test + strategy: + matrix: + toolchain: ["stable", "beta", "nightly", "1.36.0"] + os: [ubuntu-latest] + include: + - toolchain: stable + fuzz: 0 + - toolchain: beta + fuzz: 0 + - os: windows-latest + toolchain: nightly + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4 + + - name: Install packages for fuzzing + if: runner.os == 'Linux' && matrix.fuzz == 1 + run: sudo apt-get update -y && sudo apt-get install -y binutils-dev libunwind8-dev libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc libiberty-dev + + - name: Install toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.toolchain }} + + - name: Cargo build + run: cargo build --verbose + + - name: Cargo test + if: matrix.toolchain != '1.36.0' + run: cargo test --verbose + + - name: Cargo test w/ serde + if: matrix.toolchain != '1.36.0' + run: cargo test --verbose --features serde + + - name: Cargo test w/ malloc_size_of + if: matrix.toolchain != '1.36.0' + run: cargo test --verbose --features malloc_size_of + + - name: Cargo check w/o default features + if: matrix.toolchain == 'nightly' + run: cargo check --verbose --no-default-features + + - name: Cargo test w/ union + if: matrix.toolchain == 'beta' + run: cargo test --verbose --features union + + - name: Cargo test w/ debugger_visualizer + if: matrix.toolchain == 'nightly' + run: cargo test --test debugger_visualizer --verbose --features debugger_visualizer -- --test-threads=1 + + - name: Cargo test w/ debugger_visualizer and union + if: matrix.toolchain == 'nightly' + run: cargo test --test debugger_visualizer --verbose --features 'debugger_visualizer,union' -- --test-threads=1 + + - name: Cargo test all features + if: matrix.toolchain == 'nightly' + run: cargo test --verbose --all-features + + - name: Cargo bench + if: matrix.toolchain == 'nightly' + run: cargo bench --verbose bench + + - name: miri + if: matrix.toolchain == 'nightly' && matrix.os == 'ubuntu-latest' + run: bash ./scripts/run_miri.sh + + - name: fuzz + if: matrix.fuzz == 1 + working-directory: fuzz + run: ./travis-fuzz.sh + + no-std: + name: no_std + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + target: thumbv7m-none-eabi + - name: Cargo build + run: cargo build --verbose + + build_result: + name: Result + runs-on: ubuntu-latest + needs: + - "ci" + - "no-std" + + steps: + - name: Mark the job as successful + run: exit 0 + if: success() + - name: Mark the job as unsuccessful + run: exit 1 + if: "!success()" diff --git a/vendor/smallvec/Cargo.lock b/vendor/smallvec/Cargo.lock new file mode 100644 index 0000000000..79606a4229 --- /dev/null +++ b/vendor/smallvec/Cargo.lock @@ -0,0 +1,198 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "anyhow" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" + +[[package]] +name = "arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bincode" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" +dependencies = [ + "unty", +] + +[[package]] +name = "debugger_test" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95bb55f592fbb86947bee426d831de84bd65602a54f5cdcb10bfa70a62e52a0" +dependencies = [ + "anyhow", + "log", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "debugger_test_parser" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe536452a777752b9316f0c840afbb94a2411684d4f15c081449ea801ef9e75" +dependencies = [ + "anyhow", + "log", + "regex", +] + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "malloc_size_of" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d719de8b8f230028cf8192ae4c1b25267cd6b8a99d2747d345a70b8c81aa13" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "smallvec" +version = "1.15.1" +dependencies = [ + "arbitrary", + "bincode 1.3.3", + "bincode 2.0.1", + "debugger_test", + "debugger_test_parser", + "malloc_size_of", + "serde", + "unty", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unty" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" diff --git a/vendor/smallvec/Cargo.toml.orig b/vendor/smallvec/Cargo.toml.orig new file mode 100644 index 0000000000..81ea432ac6 --- /dev/null +++ b/vendor/smallvec/Cargo.toml.orig @@ -0,0 +1,54 @@ +[package] +name = "smallvec" +version = "1.15.1" +edition = "2018" +authors = ["The Servo Project Developers"] +license = "MIT OR Apache-2.0" +repository = "https://github.com/servo/rust-smallvec" +description = "'Small vector' optimization: store up to a small number of items on the stack" +keywords = ["small", "vec", "vector", "stack", "no_std"] +categories = ["data-structures"] +readme = "README.md" +documentation = "https://docs.rs/smallvec/" + +[features] +const_generics = [] +const_new = ["const_generics"] +write = [] +union = [] +specialization = [] +may_dangle = [] +drain_filter = [] +drain_keep_rest = ["drain_filter"] +impl_bincode = ["bincode", "unty"] + +# UNSTABLE FEATURES (requires Rust nightly) +# Enable to use the #[debugger_visualizer] attribute. +debugger_visualizer = [] + +[dependencies] +serde = { version = "1", optional = true, default-features = false } +malloc_size_of = { version = "0.1", optional = true, default-features = false } +arbitrary = { version = "1", optional = true } +bincode = { version = "2", optional = true, default-features = false } +unty = { version = "0.0.4", optional = true, default-features = false } + +[dev-dependencies] +bincode1 = { package = "bincode", version = "1.0.1" } +debugger_test = "0.1.0" +debugger_test_parser = "0.1.0" + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"] + +[[test]] +name = "debugger_visualizer" +path = "tests/debugger_visualizer.rs" +required-features = ["debugger_visualizer"] +# Do not run these tests by default. These tests need to +# be run with the additional rustc flag `--test-threads=1` +# since each test causes a debugger to attach to the current +# test process. If multiple debuggers try to attach at the same +# time, the test will fail. +test = false diff --git a/vendor/static_assertions/.cargo_vcs_info.json b/vendor/static_assertions/.cargo_vcs_info.json new file mode 100644 index 0000000000..4b2444564b --- /dev/null +++ b/vendor/static_assertions/.cargo_vcs_info.json @@ -0,0 +1,5 @@ +{ + "git": { + "sha1": "18bc65a094d890fe1faa5d3ccb70f12b89eabf56" + } +} diff --git a/vendor/static_assertions/Cargo.toml.orig b/vendor/static_assertions/Cargo.toml.orig new file mode 100644 index 0000000000..30248fce2a --- /dev/null +++ b/vendor/static_assertions/Cargo.toml.orig @@ -0,0 +1,22 @@ +[package] +name = "static_assertions" +version = "1.1.0" +authors = ["Nikolai Vazquez"] +license = "MIT OR Apache-2.0" +readme = "README.md" +homepage = "https://github.com/nvzqz/static-assertions-rs" +repository = "https://github.com/nvzqz/static-assertions-rs" +documentation = "https://docs.rs/static_assertions/" +categories = ["no-std", "rust-patterns", "development-tools::testing"] +keywords = ["assert", "static", "testing"] +description = "Compile-time assertions to ensure that invariants are met." +include = ["Cargo.toml", "src/**/*.rs", "README.md", "CHANGELOG.md", "LICENSE*"] + +[badges] +travis-ci = { repository = "nvzqz/static-assertions-rs" } +is-it-maintained-open-issues = { repository = "nvzqz/static-assertions-rs" } +is-it-maintained-issue-resolution = { repository = "nvzqz/static-assertions-rs" } +maintenance = { status = "passively-maintained" } + +[features] +nightly = [] diff --git a/vendor/syn/.cargo_vcs_info.json b/vendor/syn/.cargo_vcs_info.json new file mode 100644 index 0000000000..0b583b950c --- /dev/null +++ b/vendor/syn/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "3c07b7847b730380c16bcef5213a8c685a379a40" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/syn/Cargo.toml.orig b/vendor/syn/Cargo.toml.orig new file mode 100644 index 0000000000..53343b418b --- /dev/null +++ b/vendor/syn/Cargo.toml.orig @@ -0,0 +1,88 @@ +[package] +name = "syn" +version = "2.0.56" # don't forget to update html_root_url and syn.json +authors = ["David Tolnay "] +categories = ["development-tools::procedural-macro-helpers", "parser-implementations"] +description = "Parser for Rust source code" +documentation = "https://docs.rs/syn" +edition = "2021" +include = [ + "/benches/**", + "/Cargo.toml", + "/LICENSE-APACHE", + "/LICENSE-MIT", + "/README.md", + "/src/**", + "/tests/**", +] +keywords = ["macros", "syn"] +license = "MIT OR Apache-2.0" +repository = "https://github.com/dtolnay/syn" +rust-version = "1.56" + +[features] +default = ["derive", "parsing", "printing", "clone-impls", "proc-macro"] +derive = [] +full = [] +parsing = [] +printing = ["quote"] +visit = [] +visit-mut = [] +fold = [] +clone-impls = [] +extra-traits = [] +proc-macro = ["proc-macro2/proc-macro", "quote/proc-macro"] +test = ["syn-test-suite/all-features"] + +[dependencies] +proc-macro2 = { version = "1.0.75", default-features = false } +quote = { version = "1.0.35", optional = true, default-features = false } +unicode-ident = "1" + +[dev-dependencies] +anyhow = "1" +automod = "1" +flate2 = "1" +insta = "1" +rayon = "1" +ref-cast = "1" +reqwest = { version = "0.12", features = ["blocking"] } +rustversion = "1" +syn-test-suite = { version = "0", path = "tests/features" } +tar = "0.4.16" +termcolor = "1" +walkdir = "2.3.2" + +[lib] +doc-scrape-examples = false + +[[bench]] +name = "rust" +harness = false +required-features = ["full", "parsing"] + +[[bench]] +name = "file" +required-features = ["full", "parsing"] + +[package.metadata.docs.rs] +all-features = true +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = ["--cfg", "doc_cfg", "--generate-link-to-definition"] + +[package.metadata.playground] +features = ["full", "visit", "visit-mut", "fold", "extra-traits"] + +[workspace] +members = [ + "dev", + "examples/dump-syntax", + "examples/heapsize/example", + "examples/heapsize/heapsize", + "examples/heapsize/heapsize_derive", + "examples/lazy-static/example", + "examples/lazy-static/lazy-static", + "examples/trace-var/example", + "examples/trace-var/trace-var", + "tests/features", +] diff --git a/vendor/thiserror-impl/.cargo_vcs_info.json b/vendor/thiserror-impl/.cargo_vcs_info.json new file mode 100644 index 0000000000..1c6de130c8 --- /dev/null +++ b/vendor/thiserror-impl/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "5088592a4efb6a5c40b4d869eb1a0e2eacf622cb" + }, + "path_in_vcs": "impl" +} \ No newline at end of file diff --git a/vendor/thiserror-impl/Cargo.toml.orig b/vendor/thiserror-impl/Cargo.toml.orig new file mode 100644 index 0000000000..fc0a53beed --- /dev/null +++ b/vendor/thiserror-impl/Cargo.toml.orig @@ -0,0 +1,21 @@ +[package] +name = "thiserror-impl" +version = "1.0.65" +authors = ["David Tolnay "] +description = "Implementation detail of the `thiserror` crate" +edition = "2021" +license = "MIT OR Apache-2.0" +repository = "https://github.com/dtolnay/thiserror" +rust-version = "1.56" + +[lib] +proc-macro = true + +[dependencies] +proc-macro2 = "1.0.74" +quote = "1.0.35" +syn = "2.0.46" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/vendor/thiserror/.cargo_vcs_info.json b/vendor/thiserror/.cargo_vcs_info.json new file mode 100644 index 0000000000..fb61c21a24 --- /dev/null +++ b/vendor/thiserror/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "5088592a4efb6a5c40b4d869eb1a0e2eacf622cb" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/thiserror/.github/FUNDING.yml b/vendor/thiserror/.github/FUNDING.yml new file mode 100644 index 0000000000..750707701c --- /dev/null +++ b/vendor/thiserror/.github/FUNDING.yml @@ -0,0 +1 @@ +github: dtolnay diff --git a/vendor/thiserror/.github/workflows/ci.yml b/vendor/thiserror/.github/workflows/ci.yml new file mode 100644 index 0000000000..65a20f5197 --- /dev/null +++ b/vendor/thiserror/.github/workflows/ci.yml @@ -0,0 +1,111 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + pre_ci: + uses: dtolnay/.github/.github/workflows/pre_ci.yml@master + + test: + name: Rust ${{matrix.rust}} + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [nightly, beta, stable, 1.56.0] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + components: rust-src + - name: Enable type layout randomization + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - name: Enable nightly-only tests + run: echo RUSTFLAGS=${RUSTFLAGS}\ --cfg=thiserror_nightly_testing >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - run: cargo test --all + - uses: actions/upload-artifact@v4 + if: matrix.rust == 'nightly' && always() + with: + name: Cargo.lock + path: Cargo.lock + + minimal: + name: Minimal versions + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - run: cargo generate-lockfile -Z minimal-versions + - run: cargo check --locked + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rust-src + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: clippy, rust-src + - run: cargo clippy --tests --workspace -- -Dclippy::all -Dclippy::pedantic + + miri: + name: Miri + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@miri + - run: cargo miri setup + - run: cargo miri test + env: + MIRIFLAGS: -Zmiri-strict-provenance + + outdated: + name: Outdated + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: dtolnay/install@cargo-outdated + - run: cargo outdated --workspace --exit-code 1 diff --git a/vendor/thiserror/Cargo.toml.orig b/vendor/thiserror/Cargo.toml.orig new file mode 100644 index 0000000000..4ed217390c --- /dev/null +++ b/vendor/thiserror/Cargo.toml.orig @@ -0,0 +1,28 @@ +[package] +name = "thiserror" +version = "1.0.65" +authors = ["David Tolnay "] +categories = ["rust-patterns"] +description = "derive(Error)" +documentation = "https://docs.rs/thiserror" +edition = "2021" +keywords = ["error", "error-handling", "derive"] +license = "MIT OR Apache-2.0" +repository = "https://github.com/dtolnay/thiserror" +rust-version = "1.56" + +[dependencies] +thiserror-impl = { version = "=1.0.65", path = "impl" } + +[dev-dependencies] +anyhow = "1.0.73" +ref-cast = "1.0.18" +rustversion = "1.0.13" +trybuild = { version = "1.0.81", features = ["diff"] } + +[workspace] +members = ["impl"] + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = ["--generate-link-to-definition"] diff --git a/vendor/unicode-ident/.cargo_vcs_info.json b/vendor/unicode-ident/.cargo_vcs_info.json new file mode 100644 index 0000000000..b80f22af9d --- /dev/null +++ b/vendor/unicode-ident/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "10d5e534c9e06fffcdc6896d4779ffb25641659b" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/unicode-ident/.github/FUNDING.yml b/vendor/unicode-ident/.github/FUNDING.yml new file mode 100644 index 0000000000..750707701c --- /dev/null +++ b/vendor/unicode-ident/.github/FUNDING.yml @@ -0,0 +1 @@ +github: dtolnay diff --git a/vendor/unicode-ident/.github/workflows/ci.yml b/vendor/unicode-ident/.github/workflows/ci.yml new file mode 100644 index 0000000000..dc92f2ebaf --- /dev/null +++ b/vendor/unicode-ident/.github/workflows/ci.yml @@ -0,0 +1,110 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + schedule: [cron: "40 1 * * *"] + +permissions: + contents: read + +env: + RUSTFLAGS: -Dwarnings + +jobs: + pre_ci: + uses: dtolnay/.github/.github/workflows/pre_ci.yml@master + + unicode: + name: latest Unicode + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v5 + - uses: dtolnay/rust-toolchain@stable + - id: ucd-generate + run: echo "version=$(grep 'ucd-generate [0-9]\+\.[0-9]\+\.[0-9]\+' tests/tables/tables.rs --only-matching)" >> $GITHUB_OUTPUT + - run: cargo install ucd-generate + - run: curl https://www.unicode.org/Public/latest/ucd/UCD.zip --location --remote-name --silent --show-error --fail --retry 2 + - run: unzip UCD.zip -d UCD + - run: ucd-generate property-bool UCD --include XID_Start,XID_Continue > tests/tables/tables.rs + - run: ucd-generate property-bool UCD --include XID_Start,XID_Continue --fst-dir tests/fst + - run: ucd-generate property-bool UCD --include XID_Start,XID_Continue --trie-set > tests/trie/trie.rs + - run: cargo run --manifest-path generate/Cargo.toml + - run: sed --in-place 's/ucd-generate [0-9]\+\.[0-9]\+\.[0-9]\+/${{steps.ucd-generate.outputs.version}}/' tests/tables/tables.rs tests/trie/trie.rs + - run: git diff --exit-code + + test: + name: Rust ${{matrix.rust}} + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + rust: [nightly, beta, stable, 1.81.0] + timeout-minutes: 45 + steps: + - uses: actions/checkout@v5 + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{matrix.rust}} + - name: Enable type layout randomization + run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV + if: matrix.rust == 'nightly' + - run: cargo test + - run: cargo check --benches + - uses: actions/upload-artifact@v4 + if: matrix.rust == 'nightly' && always() + with: + name: Cargo.lock + path: Cargo.lock + continue-on-error: true + + msrv: + name: Rust 1.31.0 + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v5 + - uses: dtolnay/rust-toolchain@1.31.0 + - run: cargo check --manifest-path tests/crate/Cargo.toml + + doc: + name: Documentation + needs: pre_ci + if: needs.pre_ci.outputs.continue + runs-on: ubuntu-latest + timeout-minutes: 45 + env: + RUSTDOCFLAGS: -Dwarnings + steps: + - uses: actions/checkout@v5 + - uses: dtolnay/rust-toolchain@nightly + - uses: dtolnay/install@cargo-docs-rs + - run: cargo docs-rs + + clippy: + name: Clippy + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v5 + - uses: dtolnay/rust-toolchain@clippy + - run: cargo clippy --tests --benches --workspace -- -Dclippy::all -Dclippy::pedantic + + outdated: + name: Outdated + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + timeout-minutes: 45 + steps: + - uses: actions/checkout@v5 + - uses: dtolnay/rust-toolchain@stable + - uses: dtolnay/install@cargo-outdated + - run: cargo outdated --workspace --exit-code 1 diff --git a/vendor/unicode-ident/Cargo.lock b/vendor/unicode-ident/Cargo.lock new file mode 100644 index 0000000000..e0bdfda23d --- /dev/null +++ b/vendor/unicode-ident/Cargo.lock @@ -0,0 +1,499 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "memchr 2.7.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "anstyle" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ciborium-io 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ciborium-ll 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ciborium-io 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "half 2.7.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "clap" +version = "4.5.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "clap_builder 4.5.51 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "clap_builder" +version = "4.5.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "anstyle 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)", + "clap_lex 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "clap_lex" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "criterion" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "anes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "cast 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ciborium 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "clap 4.5.51 (registry+https://github.com/rust-lang/crates.io-index)", + "criterion-plot 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "oorandom 11.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.12.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.145 (registry+https://github.com/rust-lang/crates.io-index)", + "tinytemplate 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "walkdir 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "criterion-plot" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cast 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fst" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.177 (registry+https://github.com/rust-lang/crates.io-index)", + "r-efi 5.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasip2 1.0.1+wasi-0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "crunchy 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "zerocopy 0.8.27 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "either 1.15.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.177" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "zerocopy 0.8.27 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "proc-macro2" +version = "1.0.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-ident 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quote" +version = "1.0.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_chacha 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ppv-lite86 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "getrandom 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.7.6 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-automata 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.7.6 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "roaring" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bytemuck 1.24.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-util 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde_core 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde_derive 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.108 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "serde_json" +version = "1.0.145" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "itoa 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.7.6 (registry+https://github.com/rust-lang/crates.io-index)", + "ryu 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_core 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "syn" +version = "2.0.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-ident 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.145 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-ident" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-ident" +version = "1.0.22" +dependencies = [ + "criterion 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fst 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", + "roaring 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ucd-trie 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-util 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "wit-bindgen 0.46.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "windows-sys 0.61.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "windows-link 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "zerocopy" +version = "0.8.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "zerocopy-derive 0.8.27 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 2.0.108 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[metadata] +"checksum aho-corasick 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +"checksum anes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" +"checksum anstyle 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +"checksum autocfg 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +"checksum bytemuck 1.24.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +"checksum byteorder 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +"checksum cast 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" +"checksum cfg-if 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +"checksum ciborium 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +"checksum ciborium-io 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" +"checksum ciborium-ll 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +"checksum clap 4.5.51 (registry+https://github.com/rust-lang/crates.io-index)" = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5" +"checksum clap_builder 4.5.51 (registry+https://github.com/rust-lang/crates.io-index)" = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a" +"checksum clap_lex 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +"checksum criterion 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c047a62b0cc3e145fa84415a3191f628e980b194c2755aa12300a4e6cbd928" +"checksum criterion-plot 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b1bcc0dc7dfae599d84ad0b1a55f80cde8af3725da8313b528da95ef783e338" +"checksum crunchy 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +"checksum either 1.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +"checksum fst 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "7ab85b9b05e3978cc9a9cf8fea7f01b494e1a09ed3037e16ba39edc7a29eb61a" +"checksum getrandom 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +"checksum half 2.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +"checksum itertools 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +"checksum itoa 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +"checksum libc 0.2.177 (registry+https://github.com/rust-lang/crates.io-index)" = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +"checksum memchr 2.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +"checksum num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +"checksum oorandom 11.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" +"checksum ppv-lite86 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +"checksum proc-macro2 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +"checksum quote 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" +"checksum r-efi 5.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +"checksum rand 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +"checksum rand_chacha 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +"checksum rand_core 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +"checksum regex 1.12.2 (registry+https://github.com/rust-lang/crates.io-index)" = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +"checksum regex-automata 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +"checksum regex-syntax 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +"checksum roaring 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f08d6a905edb32d74a5d5737a0c9d7e950c312f3c46cb0ca0a2ca09ea11878a0" +"checksum ryu 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)" = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +"checksum serde 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)" = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +"checksum serde_core 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)" = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +"checksum serde_derive 1.0.228 (registry+https://github.com/rust-lang/crates.io-index)" = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +"checksum serde_json 1.0.145 (registry+https://github.com/rust-lang/crates.io-index)" = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +"checksum syn 2.0.108 (registry+https://github.com/rust-lang/crates.io-index)" = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" +"checksum tinytemplate 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +"checksum ucd-trie 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" +"checksum unicode-ident 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)" = "462eeb75aeb73aea900253ce739c8e18a67423fadf006037cd3ff27e82748a06" +"checksum unicode-xid 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +"checksum walkdir 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +"checksum wasip2 1.0.1+wasi-0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +"checksum winapi-util 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +"checksum windows-link 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +"checksum windows-sys 0.61.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +"checksum wit-bindgen 0.46.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +"checksum zerocopy 0.8.27 (registry+https://github.com/rust-lang/crates.io-index)" = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +"checksum zerocopy-derive 0.8.27 (registry+https://github.com/rust-lang/crates.io-index)" = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" diff --git a/vendor/unicode-ident/Cargo.toml.orig b/vendor/unicode-ident/Cargo.toml.orig new file mode 100644 index 0000000000..f3d05403ca --- /dev/null +++ b/vendor/unicode-ident/Cargo.toml.orig @@ -0,0 +1,40 @@ +[package] +name = "unicode-ident" +version = "1.0.22" +authors = ["David Tolnay "] +categories = ["development-tools::procedural-macro-helpers", "no-std", "no-std::no-alloc"] +description = "Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31" +documentation = "https://docs.rs/unicode-ident" +edition = "2018" +keywords = ["unicode", "xid"] +license = "(MIT OR Apache-2.0) AND Unicode-3.0" +repository = "https://github.com/dtolnay/unicode-ident" +rust-version = "1.31" + +[dev-dependencies] +criterion = { version = "0.7", default-features = false } +fst = "0.4" +rand = "0.9" +roaring = "0.11" +ucd-trie = { version = "0.1", default-features = false } +unicode-xid = "0.2.6" + +[[bench]] +name = "xid" +harness = false + +[workspace] +members = ["diagram", "generate"] + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] +rustdoc-args = [ + "--generate-link-to-definition", + "--generate-macro-expansion", + "--extern-html-root-url=core=https://doc.rust-lang.org", + "--extern-html-root-url=alloc=https://doc.rust-lang.org", + "--extern-html-root-url=std=https://doc.rust-lang.org", +] + +[patch.crates-io] +unicode-xid = { git = "https://github.com/dtolnay-contrib/unicode-xid", branch = "unicode17.0.0" } diff --git a/vendor/winapi-util/.cargo_vcs_info.json b/vendor/winapi-util/.cargo_vcs_info.json new file mode 100644 index 0000000000..1a413084d8 --- /dev/null +++ b/vendor/winapi-util/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "0a864f1970e2c5a3f6cb8136c0183efaf8728d18" + }, + "path_in_vcs": "" +} \ No newline at end of file diff --git a/vendor/winapi-util/.github/workflows/ci.yml b/vendor/winapi-util/.github/workflows/ci.yml new file mode 100644 index 0000000000..eeb51475c3 --- /dev/null +++ b/vendor/winapi-util/.github/workflows/ci.yml @@ -0,0 +1,87 @@ +name: ci +on: + pull_request: + branches: + - master + push: + branches: + - master + schedule: + - cron: '00 01 * * *' + +# The section is needed to drop write-all permissions that are granted on +# `schedule` event. By specifying any permission explicitly all others are set +# to none. By using the principle of least privilege the damage a compromised +# workflow can do (because of an injection or compromised third party tool or +# action) is restricted. Currently the worklow doesn't need any additional +# permission except for pulling the code. Adding labels to issues, commenting +# on pull-requests, etc. may need additional permissions: +# +# Syntax for this section: +# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions +# +# Reference for how to assign permissions on a job-by-job basis: +# https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs +# +# Reference for available permissions that we can enable if needed: +# https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token +permissions: + # to fetch code (actions/checkout) + contents: read + +jobs: + test: + name: test + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - build: pinned + os: windows-latest + rust: 1.72.0 + - build: stable + os: windows-latest + rust: stable + - build: beta + os: windows-latest + rust: beta + - build: nightly + os: windows-latest + rust: nightly + - build: win-gnu + os: windows-latest + rust: stable-x86_64-gnu + - build: linux + os: ubuntu-latest + rust: stable + - build: macos + os: macos-latest + rust: stable + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + - run: cargo build --verbose + - run: cargo doc --verbose + - run: cargo test --verbose + - name: Show all computer names + run: cargo test --lib sysinfo::tests::itworks -- --nocapture + + rustfmt: + name: rustfmt + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + components: rustfmt + - name: Check formatting + run: | + cargo fmt --all -- --check diff --git a/vendor/winapi-util/Cargo.toml.orig b/vendor/winapi-util/Cargo.toml.orig new file mode 100644 index 0000000000..b3b3394fe7 --- /dev/null +++ b/vendor/winapi-util/Cargo.toml.orig @@ -0,0 +1,25 @@ +[package] +name = "winapi-util" +version = "0.1.8" #:version +authors = ["Andrew Gallant "] +description = "A dumping ground for high level safe wrappers over windows-sys." +documentation = "https://docs.rs/winapi-util" +homepage = "https://github.com/BurntSushi/winapi-util" +repository = "https://github.com/BurntSushi/winapi-util" +readme = "README.md" +keywords = ["windows", "windows-sys", "util", "win"] +license = "Unlicense OR MIT" +categories = ["os::windows-apis", "external-ffi-bindings"] +edition = "2021" + +[target.'cfg(windows)'.dependencies.windows-sys] +version = "0.52.0" +features = [ + "Win32_Foundation", + "Win32_Storage_FileSystem", + "Win32_System_Console", + "Win32_System_SystemInformation", +] + +[package.metadata.docs.rs] +targets = ["x86_64-pc-windows-msvc"] diff --git a/vendor/windows-sys/.cargo_vcs_info.json b/vendor/windows-sys/.cargo_vcs_info.json new file mode 100644 index 0000000000..f7819c1117 --- /dev/null +++ b/vendor/windows-sys/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "3a605cba064b26f2a198ac58085f8c8836f47c38" + }, + "path_in_vcs": "crates/libs/sys" +} \ No newline at end of file diff --git a/vendor/windows-sys/Cargo.toml.orig b/vendor/windows-sys/Cargo.toml.orig new file mode 100644 index 0000000000..5f9642bde8 --- /dev/null +++ b/vendor/windows-sys/Cargo.toml.orig @@ -0,0 +1,256 @@ +[package] +name = "windows-sys" +version = "0.52.0" +authors = ["Microsoft"] +edition = "2021" +rust-version = "1.56" +license = "MIT OR Apache-2.0" +description = "Rust for Windows" +repository = "https://github.com/microsoft/windows-rs" +readme = "readme.md" +categories = ["os::windows-apis"] + +[package.metadata.docs.rs] +default-target = "x86_64-pc-windows-msvc" +targets = [] +all-features = true + +[dependencies.windows-targets] +version = "0.52.0" +path = "../targets" + +[features] +default = [] +docs = [] +# generated features +Wdk = [] +Wdk_Foundation = ["Wdk"] +Wdk_Graphics = ["Wdk"] +Wdk_Graphics_Direct3D = ["Wdk_Graphics"] +Wdk_Storage = ["Wdk"] +Wdk_Storage_FileSystem = ["Wdk_Storage"] +Wdk_Storage_FileSystem_Minifilters = ["Wdk_Storage_FileSystem"] +Wdk_System = ["Wdk"] +Wdk_System_IO = ["Wdk_System"] +Wdk_System_OfflineRegistry = ["Wdk_System"] +Wdk_System_Registry = ["Wdk_System"] +Wdk_System_SystemInformation = ["Wdk_System"] +Wdk_System_SystemServices = ["Wdk_System"] +Wdk_System_Threading = ["Wdk_System"] +Win32 = [] +Win32_Data = ["Win32"] +Win32_Data_HtmlHelp = ["Win32_Data"] +Win32_Data_RightsManagement = ["Win32_Data"] +Win32_Devices = ["Win32"] +Win32_Devices_AllJoyn = ["Win32_Devices"] +Win32_Devices_BiometricFramework = ["Win32_Devices"] +Win32_Devices_Bluetooth = ["Win32_Devices"] +Win32_Devices_Communication = ["Win32_Devices"] +Win32_Devices_DeviceAndDriverInstallation = ["Win32_Devices"] +Win32_Devices_DeviceQuery = ["Win32_Devices"] +Win32_Devices_Display = ["Win32_Devices"] +Win32_Devices_Enumeration = ["Win32_Devices"] +Win32_Devices_Enumeration_Pnp = ["Win32_Devices_Enumeration"] +Win32_Devices_Fax = ["Win32_Devices"] +Win32_Devices_HumanInterfaceDevice = ["Win32_Devices"] +Win32_Devices_PortableDevices = ["Win32_Devices"] +Win32_Devices_Properties = ["Win32_Devices"] +Win32_Devices_Pwm = ["Win32_Devices"] +Win32_Devices_Sensors = ["Win32_Devices"] +Win32_Devices_SerialCommunication = ["Win32_Devices"] +Win32_Devices_Tapi = ["Win32_Devices"] +Win32_Devices_Usb = ["Win32_Devices"] +Win32_Devices_WebServicesOnDevices = ["Win32_Devices"] +Win32_Foundation = ["Win32"] +Win32_Gaming = ["Win32"] +Win32_Globalization = ["Win32"] +Win32_Graphics = ["Win32"] +Win32_Graphics_Dwm = ["Win32_Graphics"] +Win32_Graphics_Gdi = ["Win32_Graphics"] +Win32_Graphics_GdiPlus = ["Win32_Graphics"] +Win32_Graphics_Hlsl = ["Win32_Graphics"] +Win32_Graphics_OpenGL = ["Win32_Graphics"] +Win32_Graphics_Printing = ["Win32_Graphics"] +Win32_Graphics_Printing_PrintTicket = ["Win32_Graphics_Printing"] +Win32_Management = ["Win32"] +Win32_Management_MobileDeviceManagementRegistration = ["Win32_Management"] +Win32_Media = ["Win32"] +Win32_Media_Audio = ["Win32_Media"] +Win32_Media_DxMediaObjects = ["Win32_Media"] +Win32_Media_KernelStreaming = ["Win32_Media"] +Win32_Media_Multimedia = ["Win32_Media"] +Win32_Media_Streaming = ["Win32_Media"] +Win32_Media_WindowsMediaFormat = ["Win32_Media"] +Win32_NetworkManagement = ["Win32"] +Win32_NetworkManagement_Dhcp = ["Win32_NetworkManagement"] +Win32_NetworkManagement_Dns = ["Win32_NetworkManagement"] +Win32_NetworkManagement_InternetConnectionWizard = ["Win32_NetworkManagement"] +Win32_NetworkManagement_IpHelper = ["Win32_NetworkManagement"] +Win32_NetworkManagement_Multicast = ["Win32_NetworkManagement"] +Win32_NetworkManagement_Ndis = ["Win32_NetworkManagement"] +Win32_NetworkManagement_NetBios = ["Win32_NetworkManagement"] +Win32_NetworkManagement_NetManagement = ["Win32_NetworkManagement"] +Win32_NetworkManagement_NetShell = ["Win32_NetworkManagement"] +Win32_NetworkManagement_NetworkDiagnosticsFramework = ["Win32_NetworkManagement"] +Win32_NetworkManagement_P2P = ["Win32_NetworkManagement"] +Win32_NetworkManagement_QoS = ["Win32_NetworkManagement"] +Win32_NetworkManagement_Rras = ["Win32_NetworkManagement"] +Win32_NetworkManagement_Snmp = ["Win32_NetworkManagement"] +Win32_NetworkManagement_WNet = ["Win32_NetworkManagement"] +Win32_NetworkManagement_WebDav = ["Win32_NetworkManagement"] +Win32_NetworkManagement_WiFi = ["Win32_NetworkManagement"] +Win32_NetworkManagement_WindowsConnectionManager = ["Win32_NetworkManagement"] +Win32_NetworkManagement_WindowsFilteringPlatform = ["Win32_NetworkManagement"] +Win32_NetworkManagement_WindowsFirewall = ["Win32_NetworkManagement"] +Win32_NetworkManagement_WindowsNetworkVirtualization = ["Win32_NetworkManagement"] +Win32_Networking = ["Win32"] +Win32_Networking_ActiveDirectory = ["Win32_Networking"] +Win32_Networking_Clustering = ["Win32_Networking"] +Win32_Networking_HttpServer = ["Win32_Networking"] +Win32_Networking_Ldap = ["Win32_Networking"] +Win32_Networking_WebSocket = ["Win32_Networking"] +Win32_Networking_WinHttp = ["Win32_Networking"] +Win32_Networking_WinInet = ["Win32_Networking"] +Win32_Networking_WinSock = ["Win32_Networking"] +Win32_Networking_WindowsWebServices = ["Win32_Networking"] +Win32_Security = ["Win32"] +Win32_Security_AppLocker = ["Win32_Security"] +Win32_Security_Authentication = ["Win32_Security"] +Win32_Security_Authentication_Identity = ["Win32_Security_Authentication"] +Win32_Security_Authorization = ["Win32_Security"] +Win32_Security_Credentials = ["Win32_Security"] +Win32_Security_Cryptography = ["Win32_Security"] +Win32_Security_Cryptography_Catalog = ["Win32_Security_Cryptography"] +Win32_Security_Cryptography_Certificates = ["Win32_Security_Cryptography"] +Win32_Security_Cryptography_Sip = ["Win32_Security_Cryptography"] +Win32_Security_Cryptography_UI = ["Win32_Security_Cryptography"] +Win32_Security_DiagnosticDataQuery = ["Win32_Security"] +Win32_Security_DirectoryServices = ["Win32_Security"] +Win32_Security_EnterpriseData = ["Win32_Security"] +Win32_Security_ExtensibleAuthenticationProtocol = ["Win32_Security"] +Win32_Security_Isolation = ["Win32_Security"] +Win32_Security_LicenseProtection = ["Win32_Security"] +Win32_Security_NetworkAccessProtection = ["Win32_Security"] +Win32_Security_WinTrust = ["Win32_Security"] +Win32_Security_WinWlx = ["Win32_Security"] +Win32_Storage = ["Win32"] +Win32_Storage_Cabinets = ["Win32_Storage"] +Win32_Storage_CloudFilters = ["Win32_Storage"] +Win32_Storage_Compression = ["Win32_Storage"] +Win32_Storage_DistributedFileSystem = ["Win32_Storage"] +Win32_Storage_FileHistory = ["Win32_Storage"] +Win32_Storage_FileSystem = ["Win32_Storage"] +Win32_Storage_Imapi = ["Win32_Storage"] +Win32_Storage_IndexServer = ["Win32_Storage"] +Win32_Storage_InstallableFileSystems = ["Win32_Storage"] +Win32_Storage_IscsiDisc = ["Win32_Storage"] +Win32_Storage_Jet = ["Win32_Storage"] +Win32_Storage_Nvme = ["Win32_Storage"] +Win32_Storage_OfflineFiles = ["Win32_Storage"] +Win32_Storage_OperationRecorder = ["Win32_Storage"] +Win32_Storage_Packaging = ["Win32_Storage"] +Win32_Storage_Packaging_Appx = ["Win32_Storage_Packaging"] +Win32_Storage_ProjectedFileSystem = ["Win32_Storage"] +Win32_Storage_StructuredStorage = ["Win32_Storage"] +Win32_Storage_Vhd = ["Win32_Storage"] +Win32_Storage_Xps = ["Win32_Storage"] +Win32_System = ["Win32"] +Win32_System_AddressBook = ["Win32_System"] +Win32_System_Antimalware = ["Win32_System"] +Win32_System_ApplicationInstallationAndServicing = ["Win32_System"] +Win32_System_ApplicationVerifier = ["Win32_System"] +Win32_System_ClrHosting = ["Win32_System"] +Win32_System_Com = ["Win32_System"] +Win32_System_Com_Marshal = ["Win32_System_Com"] +Win32_System_Com_StructuredStorage = ["Win32_System_Com"] +Win32_System_Com_Urlmon = ["Win32_System_Com"] +Win32_System_ComponentServices = ["Win32_System"] +Win32_System_Console = ["Win32_System"] +Win32_System_CorrelationVector = ["Win32_System"] +Win32_System_DataExchange = ["Win32_System"] +Win32_System_DeploymentServices = ["Win32_System"] +Win32_System_DeveloperLicensing = ["Win32_System"] +Win32_System_Diagnostics = ["Win32_System"] +Win32_System_Diagnostics_Ceip = ["Win32_System_Diagnostics"] +Win32_System_Diagnostics_Debug = ["Win32_System_Diagnostics"] +Win32_System_Diagnostics_Debug_Extensions = ["Win32_System_Diagnostics_Debug"] +Win32_System_Diagnostics_Etw = ["Win32_System_Diagnostics"] +Win32_System_Diagnostics_ProcessSnapshotting = ["Win32_System_Diagnostics"] +Win32_System_Diagnostics_ToolHelp = ["Win32_System_Diagnostics"] +Win32_System_DistributedTransactionCoordinator = ["Win32_System"] +Win32_System_Environment = ["Win32_System"] +Win32_System_ErrorReporting = ["Win32_System"] +Win32_System_EventCollector = ["Win32_System"] +Win32_System_EventLog = ["Win32_System"] +Win32_System_EventNotificationService = ["Win32_System"] +Win32_System_GroupPolicy = ["Win32_System"] +Win32_System_HostCompute = ["Win32_System"] +Win32_System_HostComputeNetwork = ["Win32_System"] +Win32_System_HostComputeSystem = ["Win32_System"] +Win32_System_Hypervisor = ["Win32_System"] +Win32_System_IO = ["Win32_System"] +Win32_System_Iis = ["Win32_System"] +Win32_System_Ioctl = ["Win32_System"] +Win32_System_JobObjects = ["Win32_System"] +Win32_System_Js = ["Win32_System"] +Win32_System_Kernel = ["Win32_System"] +Win32_System_LibraryLoader = ["Win32_System"] +Win32_System_Mailslots = ["Win32_System"] +Win32_System_Mapi = ["Win32_System"] +Win32_System_Memory = ["Win32_System"] +Win32_System_Memory_NonVolatile = ["Win32_System_Memory"] +Win32_System_MessageQueuing = ["Win32_System"] +Win32_System_MixedReality = ["Win32_System"] +Win32_System_Ole = ["Win32_System"] +Win32_System_PasswordManagement = ["Win32_System"] +Win32_System_Performance = ["Win32_System"] +Win32_System_Performance_HardwareCounterProfiling = ["Win32_System_Performance"] +Win32_System_Pipes = ["Win32_System"] +Win32_System_Power = ["Win32_System"] +Win32_System_ProcessStatus = ["Win32_System"] +Win32_System_Recovery = ["Win32_System"] +Win32_System_Registry = ["Win32_System"] +Win32_System_RemoteDesktop = ["Win32_System"] +Win32_System_RemoteManagement = ["Win32_System"] +Win32_System_RestartManager = ["Win32_System"] +Win32_System_Restore = ["Win32_System"] +Win32_System_Rpc = ["Win32_System"] +Win32_System_Search = ["Win32_System"] +Win32_System_Search_Common = ["Win32_System_Search"] +Win32_System_SecurityCenter = ["Win32_System"] +Win32_System_Services = ["Win32_System"] +Win32_System_SetupAndMigration = ["Win32_System"] +Win32_System_Shutdown = ["Win32_System"] +Win32_System_StationsAndDesktops = ["Win32_System"] +Win32_System_SubsystemForLinux = ["Win32_System"] +Win32_System_SystemInformation = ["Win32_System"] +Win32_System_SystemServices = ["Win32_System"] +Win32_System_Threading = ["Win32_System"] +Win32_System_Time = ["Win32_System"] +Win32_System_TpmBaseServices = ["Win32_System"] +Win32_System_UserAccessLogging = ["Win32_System"] +Win32_System_Variant = ["Win32_System"] +Win32_System_VirtualDosMachines = ["Win32_System"] +Win32_System_WindowsProgramming = ["Win32_System"] +Win32_System_Wmi = ["Win32_System"] +Win32_UI = ["Win32"] +Win32_UI_Accessibility = ["Win32_UI"] +Win32_UI_ColorSystem = ["Win32_UI"] +Win32_UI_Controls = ["Win32_UI"] +Win32_UI_Controls_Dialogs = ["Win32_UI_Controls"] +Win32_UI_HiDpi = ["Win32_UI"] +Win32_UI_Input = ["Win32_UI"] +Win32_UI_Input_Ime = ["Win32_UI_Input"] +Win32_UI_Input_KeyboardAndMouse = ["Win32_UI_Input"] +Win32_UI_Input_Pointer = ["Win32_UI_Input"] +Win32_UI_Input_Touch = ["Win32_UI_Input"] +Win32_UI_Input_XboxController = ["Win32_UI_Input"] +Win32_UI_InteractionContext = ["Win32_UI"] +Win32_UI_Magnification = ["Win32_UI"] +Win32_UI_Shell = ["Win32_UI"] +Win32_UI_Shell_PropertiesSystem = ["Win32_UI_Shell"] +Win32_UI_TabletPC = ["Win32_UI"] +Win32_UI_TextServices = ["Win32_UI"] +Win32_UI_WindowsAndMessaging = ["Win32_UI"] +Win32_Web = ["Win32"] +Win32_Web_InternetExplorer = ["Win32_Web"] diff --git a/vendor/windows-targets/.cargo_vcs_info.json b/vendor/windows-targets/.cargo_vcs_info.json new file mode 100644 index 0000000000..23799b600d --- /dev/null +++ b/vendor/windows-targets/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "db06b51c2ebb743efb544d40e3064efa49f28d38" + }, + "path_in_vcs": "crates/libs/targets" +} \ No newline at end of file diff --git a/vendor/windows-targets/Cargo.toml.orig b/vendor/windows-targets/Cargo.toml.orig new file mode 100644 index 0000000000..3aba606643 --- /dev/null +++ b/vendor/windows-targets/Cargo.toml.orig @@ -0,0 +1,38 @@ + +[package] +name = "windows-targets" +version = "0.52.6" +authors = ["Microsoft"] +edition = "2021" +rust-version = "1.56" +license = "MIT OR Apache-2.0" +description = "Import libs for Windows" +repository = "https://github.com/microsoft/windows-rs" +readme = "readme.md" + +[lints] +workspace = true + +[target.'cfg(all(target_arch = "x86", target_env = "msvc", not(windows_raw_dylib)))'.dependencies] +windows_i686_msvc = { path = "../../targets/i686_msvc", version = "0.52.6" } + +[target.'cfg(all(any(target_arch = "x86_64", target_arch = "arm64ec"), target_env = "msvc", not(windows_raw_dylib)))'.dependencies] +windows_x86_64_msvc = { path = "../../targets/x86_64_msvc", version = "0.52.6" } + +[target.'cfg(all(target_arch = "aarch64", target_env = "msvc", not(windows_raw_dylib)))'.dependencies] +windows_aarch64_msvc = { path = "../../targets/aarch64_msvc", version = "0.52.6" } + +[target.'cfg(all(target_arch = "x86", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))'.dependencies] +windows_i686_gnu = { path = "../../targets/i686_gnu", version = "0.52.6" } + +[target.'cfg(all(target_arch = "x86_64", target_env = "gnu", not(target_abi = "llvm"), not(windows_raw_dylib)))'.dependencies] +windows_x86_64_gnu = { path = "../../targets/x86_64_gnu", version = "0.52.6" } + +[target.i686-pc-windows-gnullvm.dependencies] +windows_i686_gnullvm = { path = "../../targets/i686_gnullvm", version = "0.52.6" } + +[target.x86_64-pc-windows-gnullvm.dependencies] +windows_x86_64_gnullvm = { path = "../../targets/x86_64_gnullvm", version = "0.52.6" } + +[target.aarch64-pc-windows-gnullvm.dependencies] +windows_aarch64_gnullvm = { path = "../../targets/aarch64_gnullvm", version = "0.52.6" } diff --git a/vendor/windows_aarch64_gnullvm/.cargo_vcs_info.json b/vendor/windows_aarch64_gnullvm/.cargo_vcs_info.json new file mode 100644 index 0000000000..3dcdf93722 --- /dev/null +++ b/vendor/windows_aarch64_gnullvm/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "db06b51c2ebb743efb544d40e3064efa49f28d38" + }, + "path_in_vcs": "crates/targets/aarch64_gnullvm" +} \ No newline at end of file diff --git a/vendor/windows_aarch64_gnullvm/Cargo.toml.orig b/vendor/windows_aarch64_gnullvm/Cargo.toml.orig new file mode 100644 index 0000000000..0dfcf6c50c --- /dev/null +++ b/vendor/windows_aarch64_gnullvm/Cargo.toml.orig @@ -0,0 +1,13 @@ +[package] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +authors = ["Microsoft"] +edition = "2021" +rust-version = "1.56" +license = "MIT OR Apache-2.0" +description = "Import lib for Windows" +repository = "https://github.com/microsoft/windows-rs" + +[package.metadata.docs.rs] +default-target = "x86_64-pc-windows-msvc" +targets = [] diff --git a/vendor/windows_aarch64_msvc/.cargo_vcs_info.json b/vendor/windows_aarch64_msvc/.cargo_vcs_info.json new file mode 100644 index 0000000000..5615ea5c5c --- /dev/null +++ b/vendor/windows_aarch64_msvc/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "db06b51c2ebb743efb544d40e3064efa49f28d38" + }, + "path_in_vcs": "crates/targets/aarch64_msvc" +} \ No newline at end of file diff --git a/vendor/windows_aarch64_msvc/Cargo.toml.orig b/vendor/windows_aarch64_msvc/Cargo.toml.orig new file mode 100644 index 0000000000..e9f30ea128 --- /dev/null +++ b/vendor/windows_aarch64_msvc/Cargo.toml.orig @@ -0,0 +1,13 @@ +[package] +name = "windows_aarch64_msvc" +version = "0.52.6" +authors = ["Microsoft"] +edition = "2021" +rust-version = "1.56" +license = "MIT OR Apache-2.0" +description = "Import lib for Windows" +repository = "https://github.com/microsoft/windows-rs" + +[package.metadata.docs.rs] +default-target = "x86_64-pc-windows-msvc" +targets = [] diff --git a/vendor/windows_i686_gnu/.cargo_vcs_info.json b/vendor/windows_i686_gnu/.cargo_vcs_info.json new file mode 100644 index 0000000000..1f9e5065ec --- /dev/null +++ b/vendor/windows_i686_gnu/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "db06b51c2ebb743efb544d40e3064efa49f28d38" + }, + "path_in_vcs": "crates/targets/i686_gnu" +} \ No newline at end of file diff --git a/vendor/windows_i686_gnu/Cargo.toml.orig b/vendor/windows_i686_gnu/Cargo.toml.orig new file mode 100644 index 0000000000..56b5e090b0 --- /dev/null +++ b/vendor/windows_i686_gnu/Cargo.toml.orig @@ -0,0 +1,13 @@ +[package] +name = "windows_i686_gnu" +version = "0.52.6" +authors = ["Microsoft"] +edition = "2021" +rust-version = "1.56" +license = "MIT OR Apache-2.0" +description = "Import lib for Windows" +repository = "https://github.com/microsoft/windows-rs" + +[package.metadata.docs.rs] +default-target = "x86_64-pc-windows-msvc" +targets = [] diff --git a/vendor/windows_i686_gnullvm/.cargo_vcs_info.json b/vendor/windows_i686_gnullvm/.cargo_vcs_info.json new file mode 100644 index 0000000000..02809146b7 --- /dev/null +++ b/vendor/windows_i686_gnullvm/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "db06b51c2ebb743efb544d40e3064efa49f28d38" + }, + "path_in_vcs": "crates/targets/i686_gnullvm" +} \ No newline at end of file diff --git a/vendor/windows_i686_gnullvm/Cargo.toml.orig b/vendor/windows_i686_gnullvm/Cargo.toml.orig new file mode 100644 index 0000000000..39f48c18b9 --- /dev/null +++ b/vendor/windows_i686_gnullvm/Cargo.toml.orig @@ -0,0 +1,13 @@ +[package] +name = "windows_i686_gnullvm" +version = "0.52.6" +authors = ["Microsoft"] +edition = "2021" +rust-version = "1.56" +license = "MIT OR Apache-2.0" +description = "Import lib for Windows" +repository = "https://github.com/microsoft/windows-rs" + +[package.metadata.docs.rs] +default-target = "x86_64-pc-windows-msvc" +targets = [] diff --git a/vendor/windows_i686_msvc/.cargo_vcs_info.json b/vendor/windows_i686_msvc/.cargo_vcs_info.json new file mode 100644 index 0000000000..a4192cc0e5 --- /dev/null +++ b/vendor/windows_i686_msvc/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "db06b51c2ebb743efb544d40e3064efa49f28d38" + }, + "path_in_vcs": "crates/targets/i686_msvc" +} \ No newline at end of file diff --git a/vendor/windows_i686_msvc/Cargo.toml.orig b/vendor/windows_i686_msvc/Cargo.toml.orig new file mode 100644 index 0000000000..02174371c8 --- /dev/null +++ b/vendor/windows_i686_msvc/Cargo.toml.orig @@ -0,0 +1,13 @@ +[package] +name = "windows_i686_msvc" +version = "0.52.6" +authors = ["Microsoft"] +edition = "2021" +rust-version = "1.56" +license = "MIT OR Apache-2.0" +description = "Import lib for Windows" +repository = "https://github.com/microsoft/windows-rs" + +[package.metadata.docs.rs] +default-target = "x86_64-pc-windows-msvc" +targets = [] diff --git a/vendor/windows_x86_64_gnu/.cargo_vcs_info.json b/vendor/windows_x86_64_gnu/.cargo_vcs_info.json new file mode 100644 index 0000000000..bde70725dc --- /dev/null +++ b/vendor/windows_x86_64_gnu/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "db06b51c2ebb743efb544d40e3064efa49f28d38" + }, + "path_in_vcs": "crates/targets/x86_64_gnu" +} \ No newline at end of file diff --git a/vendor/windows_x86_64_gnu/Cargo.toml.orig b/vendor/windows_x86_64_gnu/Cargo.toml.orig new file mode 100644 index 0000000000..9faebe627a --- /dev/null +++ b/vendor/windows_x86_64_gnu/Cargo.toml.orig @@ -0,0 +1,13 @@ +[package] +name = "windows_x86_64_gnu" +version = "0.52.6" +authors = ["Microsoft"] +edition = "2021" +rust-version = "1.56" +license = "MIT OR Apache-2.0" +description = "Import lib for Windows" +repository = "https://github.com/microsoft/windows-rs" + +[package.metadata.docs.rs] +default-target = "x86_64-pc-windows-msvc" +targets = [] diff --git a/vendor/windows_x86_64_gnullvm/.cargo_vcs_info.json b/vendor/windows_x86_64_gnullvm/.cargo_vcs_info.json new file mode 100644 index 0000000000..1de9891e1e --- /dev/null +++ b/vendor/windows_x86_64_gnullvm/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "db06b51c2ebb743efb544d40e3064efa49f28d38" + }, + "path_in_vcs": "crates/targets/x86_64_gnullvm" +} \ No newline at end of file diff --git a/vendor/windows_x86_64_gnullvm/Cargo.toml.orig b/vendor/windows_x86_64_gnullvm/Cargo.toml.orig new file mode 100644 index 0000000000..e007fb9a27 --- /dev/null +++ b/vendor/windows_x86_64_gnullvm/Cargo.toml.orig @@ -0,0 +1,13 @@ +[package] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +authors = ["Microsoft"] +edition = "2021" +rust-version = "1.56" +license = "MIT OR Apache-2.0" +description = "Import lib for Windows" +repository = "https://github.com/microsoft/windows-rs" + +[package.metadata.docs.rs] +default-target = "x86_64-pc-windows-msvc" +targets = [] diff --git a/vendor/windows_x86_64_msvc/.cargo_vcs_info.json b/vendor/windows_x86_64_msvc/.cargo_vcs_info.json new file mode 100644 index 0000000000..75f3ca6fcf --- /dev/null +++ b/vendor/windows_x86_64_msvc/.cargo_vcs_info.json @@ -0,0 +1,6 @@ +{ + "git": { + "sha1": "db06b51c2ebb743efb544d40e3064efa49f28d38" + }, + "path_in_vcs": "crates/targets/x86_64_msvc" +} \ No newline at end of file diff --git a/vendor/windows_x86_64_msvc/Cargo.toml.orig b/vendor/windows_x86_64_msvc/Cargo.toml.orig new file mode 100644 index 0000000000..037c603396 --- /dev/null +++ b/vendor/windows_x86_64_msvc/Cargo.toml.orig @@ -0,0 +1,13 @@ +[package] +name = "windows_x86_64_msvc" +version = "0.52.6" +authors = ["Microsoft"] +edition = "2021" +rust-version = "1.56" +license = "MIT OR Apache-2.0" +description = "Import lib for Windows" +repository = "https://github.com/microsoft/windows-rs" + +[package.metadata.docs.rs] +default-target = "x86_64-pc-windows-msvc" +targets = []