[INFO] crate crate2nix 0.9.0-alpha.1 is already in cache [INFO] testing crate2nix-0.9.0-alpha.1 against 1.44.0 for beta-1.45-1 [INFO] extracting crate crate2nix 0.9.0-alpha.1 into /workspace/builds/worker-4/source [INFO] validating manifest of crates.io crate crate2nix 0.9.0-alpha.1 on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate crate2nix 0.9.0-alpha.1 [INFO] finished tweaking crates.io crate crate2nix 0.9.0-alpha.1 [INFO] tweaked toml for crates.io crate crate2nix 0.9.0-alpha.1 written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate crates.io crate crate2nix 0.9.0-alpha.1 already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b5fc1ee716f3b62a969644591b7140be698623db3b2cc24ac6e4e6a5ab3e1bc3 [INFO] running `"docker" "start" "-a" "b5fc1ee716f3b62a969644591b7140be698623db3b2cc24ac6e4e6a5ab3e1bc3"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling proc-macro2 v1.0.9 [INFO] [stderr] Compiling syn v1.0.17 [INFO] [stderr] Compiling libc v0.2.68 [INFO] [stderr] Compiling serde v1.0.105 [INFO] [stderr] Compiling regex-syntax v0.6.17 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling unicode-segmentation v1.6.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling failure_derive v0.1.7 [INFO] [stderr] Compiling ucd-trie v0.1.3 [INFO] [stderr] Compiling ryu v1.0.3 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Compiling smallvec v1.2.0 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling percent-encoding v1.0.1 [INFO] [stderr] Compiling either v1.5.3 [INFO] [stderr] Compiling nix-base32 v0.1.1 [INFO] [stderr] Compiling hex v0.4.2 [INFO] [stderr] Compiling pathdiff v0.1.0 [INFO] [stderr] Compiling backtrace-sys v0.1.35 [INFO] [stderr] Compiling proc-macro-error-attr v0.4.12 [INFO] [stderr] Compiling proc-macro-error v0.4.12 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling pest v2.1.3 [INFO] [stderr] Compiling walkdir v2.3.1 [INFO] [stderr] Compiling unicode-normalization v0.1.12 [INFO] [stderr] Compiling itertools v0.8.2 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Compiling bstr v0.2.12 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling quote v1.0.3 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling crossbeam-channel v0.4.2 [INFO] [stderr] Compiling backtrace v0.3.46 [INFO] [stderr] Compiling idna v0.1.5 [INFO] [stderr] Compiling pest_meta v2.1.3 [INFO] [stderr] Compiling url v1.7.2 [INFO] [stderr] Compiling regex v1.3.6 [INFO] [stderr] Compiling globset v0.4.5 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling structopt-derive v0.2.18 [INFO] [stderr] Compiling ignore v0.4.13 [INFO] [stderr] Compiling globwalk v0.7.3 [INFO] [stderr] Compiling structopt v0.2.18 [INFO] [stderr] Compiling synstructure v0.12.3 [INFO] [stderr] Compiling syn-mid v0.5.0 [INFO] [stderr] Compiling pest_generator v2.1.3 [INFO] [stderr] Compiling serde_derive v1.0.105 [INFO] [stderr] Compiling pest_derive v2.1.0 [INFO] [stderr] Compiling structopt-derive v0.4.5 [INFO] [stderr] Compiling failure v0.1.7 [INFO] [stderr] Compiling clap-verbosity-flag v0.2.0 [INFO] [stderr] Compiling exitfailure v0.5.1 [INFO] [stderr] Compiling quicli v0.4.0 [INFO] [stderr] Compiling structopt v0.3.12 [INFO] [stderr] Compiling serde_json v1.0.48 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling url_serde v0.2.0 [INFO] [stderr] Compiling toml v0.5.6 [INFO] [stderr] Compiling cargo_metadata v0.9.1 [INFO] [stderr] Compiling tera v1.1.0 [INFO] [stderr] Compiling crate2nix v0.9.0-alpha.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 54s [INFO] running `"docker" "inspect" "b5fc1ee716f3b62a969644591b7140be698623db3b2cc24ac6e4e6a5ab3e1bc3"` [INFO] running `"docker" "rm" "-f" "b5fc1ee716f3b62a969644591b7140be698623db3b2cc24ac6e4e6a5ab3e1bc3"` [INFO] [stdout] b5fc1ee716f3b62a969644591b7140be698623db3b2cc24ac6e4e6a5ab3e1bc3 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 37cb691e62c51048d67895cfa87a81c74391d3f8c3e654cc243e6d2ce0f32eae [INFO] running `"docker" "start" "-a" "37cb691e62c51048d67895cfa87a81c74391d3f8c3e654cc243e6d2ce0f32eae"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling difference v2.0.0 [INFO] [stderr] Compiling fs_extra v1.1.0 [INFO] [stderr] Compiling itertools v0.7.11 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling colored-diff v0.2.2 [INFO] [stderr] Compiling crate2nix v0.9.0-alpha.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 13.05s [INFO] running `"docker" "inspect" "37cb691e62c51048d67895cfa87a81c74391d3f8c3e654cc243e6d2ce0f32eae"` [INFO] running `"docker" "rm" "-f" "37cb691e62c51048d67895cfa87a81c74391d3f8c3e654cc243e6d2ce0f32eae"` [INFO] [stdout] 37cb691e62c51048d67895cfa87a81c74391d3f8c3e654cc243e6d2ce0f32eae [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 120d7c618dc5261403e92ffe1bf71140515424368cc971765c92c17e725d91cc [INFO] running `"docker" "start" "-a" "120d7c618dc5261403e92ffe1bf71140515424368cc971765c92c17e725d91cc"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/crate2nix-112b856b318019b4 [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test render::test_render_cfg_to_nix_expr ... ok [INFO] [stdout] test lock::test_some_inline_checksums ... ok [INFO] [stdout] test lock::test_no_legacy_checksums ... ok [INFO] [stdout] test lock::test_some_legacy_checksums ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/crate2nix-c9d5474629184193 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/self_build_up_to_date-d093643d2450c99a [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test pregenerated_up_to_date ... FAILED [INFO] [stdout] test self_up_to_date ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- pregenerated_up_to_date stdout ---- [INFO] [stdout] thread 'pregenerated_up_to_date' panicked at 'while running instantiate: ErrorMessage { msg: "while spawning nix: No such file or directory (os error 2)" } [INFO] [stdout] [INFO] [stdout] 0: failure::backtrace::internal::InternalBacktrace::new [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/failure-0.1.7/src/backtrace/internal.rs:46 [INFO] [stdout] 1: failure::backtrace::Backtrace::new [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/failure-0.1.7/src/backtrace/mod.rs:121 [INFO] [stdout] 2: >::from [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/failure-0.1.7/src/error/error_impl.rs:19 [INFO] [stdout] 3: >::from [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/failure-0.1.7/src/error/mod.rs:36 [INFO] [stdout] 4: failure::error_message::err_msg [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/failure-0.1.7/src/error_message.rs:12 [INFO] [stdout] 5: self_build_up_to_date::get_test_configs::{{closure}} [INFO] [stdout] at tests/self_build_up_to_date.rs:130 [INFO] [stdout] 6: core::result::Result::map_err [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/result.rs:612 [INFO] [stdout] 7: self_build_up_to_date::get_test_configs [INFO] [stdout] at tests/self_build_up_to_date.rs:127 [INFO] [stdout] 8: self_build_up_to_date::pregenerated_up_to_date [INFO] [stdout] at tests/self_build_up_to_date.rs:52 [INFO] [stdout] 9: self_build_up_to_date::pregenerated_up_to_date::{{closure}} [INFO] [stdout] at tests/self_build_up_to_date.rs:51 [INFO] [stdout] 10: core::ops::function::FnOnce::call_once [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 11: as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] as core::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] std::panicking::try::do_call [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] std::panicking::try [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] std::panic::catch_unwind [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] test::run_test_in_process [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] test::run_test::run_test_inner::{{closure}} [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 12: std::sys_common::backtrace::__rust_begin_short_backtrace [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 13: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:475 [INFO] [stdout] as core::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] std::panicking::try::do_call [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] std::panicking::try [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] std::panic::catch_unwind [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] std::thread::Builder::spawn_unchecked::{{closure}} [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:474 [INFO] [stdout] core::ops::function::FnOnce::call_once{{vtable.shim}} [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 14: as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] as core::ops::function::FnOnce>::call_once [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] std::sys::unix::thread::Thread::new::thread_start [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 15: start_thread [INFO] [stdout] 16: __clone [INFO] [stdout] ', tests/self_build_up_to_date.rs:52:24 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55fbe8489d94 - backtrace::backtrace::libunwind::trace::hc1c4a1d8ad423b97 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x55fbe8489d94 - backtrace::backtrace::trace_unsynchronized::h82274781060cb056 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x55fbe8489d94 - std::sys_common::backtrace::_print_fmt::h2a45d89b653a4da8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x55fbe8489d94 - ::fmt::h41a0a93ab85e6aa1 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x55fbe84b53ec - core::fmt::write::hdaea18585065a96d [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x55fbe7cc4055 - std::io::Write::write_fmt::h42f0550b6bd39c6e [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x55fbe8483161 - std::io::impls::>::write_fmt::h223d7b7033cad46d [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x55fbe848c665 - std::sys_common::backtrace::_print::hd95f9978cc145ca4 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x55fbe848c665 - std::sys_common::backtrace::print::hfb25ca2291be47d0 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x55fbe848c665 - std::panicking::default_hook::{{closure}}::h44f76cee5dc8591c [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x55fbe848c34b - std::panicking::default_hook::h198e1a712910f1e6 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x55fbe848ccc2 - std::panicking::rust_panic_with_hook::hc0b4730bb8013f9d [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x55fbe848c8ab - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x55fbe84b3b61 - core::panicking::panic_fmt::h1ac71ad045d55416 [INFO] [stdout] at src/libcore/panicking.rs:111 [INFO] [stdout] 14: 0x55fbe84b3983 - core::option::expect_none_failed::hb40004d71d61b685 [INFO] [stdout] at src/libcore/option.rs:1268 [INFO] [stdout] 15: 0x55fbe7cbfec0 - core::result::Result::expect::h8f9ec4476a7d1a36 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/result.rs:963 [INFO] [stdout] 16: 0x55fbe7cb6d6c - self_build_up_to_date::pregenerated_up_to_date::h4fb74da5111a07a2 [INFO] [stdout] at tests/self_build_up_to_date.rs:52 [INFO] [stdout] 17: 0x55fbe7cb6cfa - self_build_up_to_date::pregenerated_up_to_date::{{closure}}::ha70b324976e4a8cc [INFO] [stdout] at tests/self_build_up_to_date.rs:51 [INFO] [stdout] 18: 0x55fbe7cc236e - core::ops::function::FnOnce::call_once::h352ed467b298be51 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 19: 0x55fbe7ceb4e6 - as core::ops::function::FnOnce>::call_once::hc165f65f4331a55c [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 20: 0x55fbe7ceb4e6 - as core::ops::function::FnOnce<()>>::call_once::hb89f1f769cad07ce [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 21: 0x55fbe7ceb4e6 - std::panicking::try::do_call::h104f7f3dae5a1b29 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 22: 0x55fbe7ceb4e6 - std::panicking::try::h0e20f01361cba753 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 23: 0x55fbe7ceb4e6 - std::panic::catch_unwind::h0bd0c84b5f4cd121 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 24: 0x55fbe7ceb4e6 - test::run_test_in_process::hf34c22adfeb6853d [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 25: 0x55fbe7ceb4e6 - test::run_test::run_test_inner::{{closure}}::h40d568b4c10a12f1 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 26: 0x55fbe7cc3506 - std::sys_common::backtrace::__rust_begin_short_backtrace::hffd9774ad3f2d778 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 27: 0x55fbe7cc8895 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h4594020476cf52d4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:475 [INFO] [stdout] 28: 0x55fbe7cc8895 - as core::ops::function::FnOnce<()>>::call_once::h9d0a6d45b73e29e4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 29: 0x55fbe7cc8895 - std::panicking::try::do_call::h902fd77b30bb3bb7 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 30: 0x55fbe7cc8895 - std::panicking::try::hc17d3a628e65d49d [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 31: 0x55fbe7cc8895 - std::panic::catch_unwind::h9c9d49cbb6b18017 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 32: 0x55fbe7cc8895 - std::thread::Builder::spawn_unchecked::{{closure}}::h6a6f5a333fd631a2 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:474 [INFO] [stdout] 33: 0x55fbe7cc8895 - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha6fb197e0ce57f73 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 34: 0x55fbe849389a - as core::ops::function::FnOnce>::call_once::h1f1fac7de7dd9691 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 35: 0x55fbe849389a - as core::ops::function::FnOnce>::call_once::ha031f48633a6af54 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 36: 0x55fbe849389a - std::sys::unix::thread::Thread::new::thread_start::h241864caf436e182 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 37: 0x7f1bc1d6d609 - start_thread [INFO] [stdout] 38: 0x7f1bc1c79103 - __clone [INFO] [stdout] 39: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- self_up_to_date stdout ---- [INFO] [stdout] thread 'self_up_to_date' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `"\n# This file was @generated by crate2nix 0.8.0 with the command:\n# \"generate\" \"-n\" \"../nix/nixpkgs.nix\" \"-f\" \"./crate2nix/Cargo.toml\" \"-o\" \"./crate2nix/Cargo.nix\"\n# See https://github.com/kolloch/crate2nix for more info.\n\n{ nixpkgs ? ../nix/nixpkgs.nix\n, pkgs ? import nixpkgs { config = {}; }\n, lib ? pkgs.lib\n, stdenv ? pkgs.stdenv\n, buildRustCrate ? pkgs.buildRustCrate\n # This is used as the `crateOverrides` argument for `buildRustCrate`.\n, defaultCrateOverrides ? pkgs.defaultCrateOverrides\n # The features to enable for the root_crate or the workspace_members.\n, rootFeatures ? [ \"default\" ]\n # If true, throw errors instead of issueing deprecation warnings.\n, strictDeprecation ? false\n # Whether to perform release builds: longer compile times, faster binaries.\n, release ? true\n}:\n\nrec {\n #\n # \"public\" attributes that we attempt to keep stable with new versions of crate2nix.\n #\n\n rootCrate = rec {\n packageId = \"crate2nix\";\n\n # Use this attribute to refer to the derivation building your root crate package.\n # You can override the features with rootCrate.build.override { features = [ \"default\" \"feature1\" ... ]; }.\n build = internal.buildRustCrateWithFeatures {\n inherit packageId;\n };\n\n # Debug support which might change between releases.\n # File a bug if you depend on any for non-debug work!\n debug = internal.debugCrate { inherit packageId; };\n };\n root_crate =\n internal.deprecationWarning \n \"root_crate is deprecated since crate2nix 0.4. Please use rootCrate instead.\" \n rootCrate.build;\n # Refer your crate build derivation by name here.\n # You can override the features with\n # workspaceMembers.\"${crateName}\".build.override { features = [ \"default\" \"feature1\" ... ]; }.\n workspaceMembers = {\n \"crate2nix\" = rec {\n packageId = \"crate2nix\";\n build = internal.buildRustCrateWithFeatures {\n packageId = \"crate2nix\";\n };\n\n # Debug support which might change between releases.\n # File a bug if you depend on any for non-debug work!\n debug = internal.debugCrate { inherit packageId; };\n };\n };\n workspace_members =\n internal.deprecationWarning\n \"workspace_members is deprecated in crate2nix 0.4. Please use workspaceMembers instead.\"\n lib.mapAttrs (n: v: v.build) workspaceMembers;\n\n #\n # \"internal\" (\"private\") attributes that may change in every new version of crate2nix.\n #\n\n internal = rec {\n # Build and dependency information for crates.\n # Many of the fields are passed one-to-one to buildRustCrate.\n #\n # Noteworthy:\n # * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate.\n # but with additional information which is used during dependency/feature resolution.\n # * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging.\n # * `devDependencies` as of now not used by `buildRustCrate` but used to\n # inject test dependencies into the build\n\n crates = {\n \"aho-corasick\" = rec {\n crateName = \"aho-corasick\";\n version = \"0.7.10\";\n edition = \"2015\";\n sha256 = \"1nka9509afjgal6lpymn8w2lq11dmjwxs8yjcmzys966if5l05l7\";\n libName = \"aho_corasick\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"memchr\";\n packageId = \"memchr\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"std\" = [ \"memchr/use_std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"ansi_term\" = rec {\n crateName = \"ansi_term\";\n version = \"0.11.0\";\n edition = \"2015\";\n sha256 = \"16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf\";\n authors = [\n \"ogham@bsago.me\"\n \"Ryan Scheel (Havvy) \"\n \"Josh Triplett \"\n ];\n dependencies = [\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: (target.\"os\" == \"windows\");\n features = [ \"errhandlingapi\" \"consoleapi\" \"processenv\" ];\n }\n ];\n \n };\n \"atty\" = rec {\n crateName = \"atty\";\n version = \"0.2.14\";\n edition = \"2015\";\n sha256 = \"1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr\";\n authors = [\n \"softprops \"\n ];\n dependencies = [\n {\n name = \"hermit-abi\";\n packageId = \"hermit-abi\";\n target = { target, features }: (target.\"os\" == \"hermit\");\n }\n {\n name = \"libc\";\n packageId = \"libc\";\n usesDefaultFeatures = false;\n target = { target, features }: target.\"unix\";\n }\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: target.\"windows\";\n features = [ \"consoleapi\" \"processenv\" \"minwinbase\" \"minwindef\" \"winbase\" ];\n }\n ];\n \n };\n \"autocfg\" = rec {\n crateName = \"autocfg\";\n version = \"1.0.0\";\n edition = \"2015\";\n sha256 = \"17cv6pwb4q08s0ynpr4n8hv5299hcmhdgvdchzixfpw8y5qcgapq\";\n authors = [\n \"Josh Stone \"\n ];\n \n };\n \"backtrace\" = rec {\n crateName = \"backtrace\";\n version = \"0.3.46\";\n edition = \"2018\";\n sha256 = \"17hh1vrhfd01qpjilrdpy7q0lf2j2qv36achpg37q92rff4r5rmi\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"backtrace-sys\";\n packageId = \"backtrace-sys\";\n optional = true;\n usesDefaultFeatures = false;\n }\n {\n name = \"cfg-if\";\n packageId = \"cfg-if\";\n }\n {\n name = \"libc\";\n packageId = \"libc\";\n usesDefaultFeatures = false;\n }\n {\n name = \"rustc-demangle\";\n packageId = \"rustc-demangle\";\n }\n ];\n features = {\n \"default\" = [ \"std\" \"libunwind\" \"libbacktrace\" \"dladdr\" \"dbghelp\" ];\n \"gimli-symbolize\" = [ \"addr2line\" \"findshlibs\" \"memmap\" \"goblin\" ];\n \"libbacktrace\" = [ \"backtrace-sys/backtrace-sys\" ];\n \"rustc-dep-of-std\" = [ \"backtrace-sys/rustc-dep-of-std\" \"cfg-if/rustc-dep-of-std\" \"core\" \"compiler_builtins\" \"libc/rustc-dep-of-std\" \"rustc-demangle/rustc-dep-of-std\" ];\n \"serialize-rustc\" = [ \"rustc-serialize\" ];\n \"serialize-serde\" = [ \"serde\" ];\n \"verify-winapi\" = [ \"winapi/dbghelp\" \"winapi/handleapi\" \"winapi/libloaderapi\" \"winapi/minwindef\" \"winapi/processthreadsapi\" \"winapi/synchapi\" \"winapi/winbase\" \"winapi/winnt\" ];\n };\n resolvedDefaultFeatures = [ \"backtrace-sys\" \"dbghelp\" \"default\" \"dladdr\" \"libbacktrace\" \"libunwind\" \"std\" ];\n };\n \"backtrace-sys\" = rec {\n crateName = \"backtrace-sys\";\n version = \"0.1.35\";\n edition = \"2015\";\n sha256 = \"066iviphi72mx9hd3njzsplk5v45jhi10mrccbbyij391ahsps3x\";\n authors = [\n \"Alex Crichton \"\n ];\n dependencies = [\n {\n name = \"libc\";\n packageId = \"libc\";\n usesDefaultFeatures = false;\n }\n ];\n buildDependencies = [\n {\n name = \"cc\";\n packageId = \"cc\";\n }\n ];\n features = {\n \"default\" = [ \"backtrace-sys\" ];\n \"rustc-dep-of-std\" = [ \"core\" \"compiler_builtins\" ];\n };\n resolvedDefaultFeatures = [ \"backtrace-sys\" ];\n };\n \"bitflags\" = rec {\n crateName = \"bitflags\";\n version = \"1.2.1\";\n edition = \"2015\";\n sha256 = \"14qnd5nq8p2almk79m4m8ydqhd413yaxsyjp5xd19g3mikzf47fg\";\n authors = [\n \"The Rust Project Developers\"\n ];\n features = {\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"block-buffer\" = rec {\n crateName = \"block-buffer\";\n version = \"0.7.3\";\n edition = \"2015\";\n sha256 = \"12v8wizynqin0hqf140kmp9s38q223mp1b0hkqk8j5pk8720v560\";\n authors = [\n \"RustCrypto Developers\"\n ];\n dependencies = [\n {\n name = \"block-padding\";\n packageId = \"block-padding\";\n }\n {\n name = \"byte-tools\";\n packageId = \"byte-tools\";\n }\n {\n name = \"byteorder\";\n packageId = \"byteorder\";\n usesDefaultFeatures = false;\n }\n {\n name = \"generic-array\";\n packageId = \"generic-array\";\n }\n ];\n \n };\n \"block-padding\" = rec {\n crateName = \"block-padding\";\n version = \"0.1.5\";\n edition = \"2015\";\n sha256 = \"1xbkmysiz23vimd17rnsjpw9bgjxipwfslwyygqlkx4in3dxwygs\";\n authors = [\n \"RustCrypto Developers\"\n ];\n dependencies = [\n {\n name = \"byte-tools\";\n packageId = \"byte-tools\";\n }\n ];\n \n };\n \"bstr\" = rec {\n crateName = \"bstr\";\n version = \"0.2.12\";\n edition = \"2015\";\n sha256 = \"0hazfback6i2k3vhhwyj8h46id3y58zxqh22pz46hj9r1zayd298\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"memchr\";\n packageId = \"memchr\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"std\" \"unicode\" ];\n \"serde1\" = [ \"std\" \"serde1-nostd\" \"serde/std\" ];\n \"serde1-nostd\" = [ \"serde\" ];\n \"std\" = [ \"memchr/use_std\" ];\n \"unicode\" = [ \"lazy_static\" \"regex-automata\" ];\n };\n resolvedDefaultFeatures = [ \"std\" ];\n };\n \"byte-tools\" = rec {\n crateName = \"byte-tools\";\n version = \"0.3.1\";\n edition = \"2015\";\n sha256 = \"1mqi29wsm8njpl51pfwr31wmpzs5ahlcb40wsjyd92l90ixcmdg3\";\n authors = [\n \"RustCrypto Developers\"\n ];\n \n };\n \"byteorder\" = rec {\n crateName = \"byteorder\";\n version = \"1.3.4\";\n edition = \"2015\";\n sha256 = \"1pkjfhgjnq898g1d38ygcfi0msg3m6756cwv0sgysj1d26p8mi08\";\n authors = [\n \"Andrew Gallant \"\n ];\n features = {\n \"default\" = [ \"std\" ];\n };\n };\n \"cargo_metadata\" = rec {\n crateName = \"cargo_metadata\";\n version = \"0.9.1\";\n edition = \"2015\";\n sha256 = \"00pjms89lghvizh4d55lz80hvrih9r55xv9m5wd9vcsgc163gqs6\";\n authors = [\n \"Oliver Schneider \"\n ];\n dependencies = [\n {\n name = \"semver\";\n packageId = \"semver\";\n features = [ \"serde\" ];\n }\n {\n name = \"serde\";\n packageId = \"serde\";\n }\n {\n name = \"serde_derive\";\n packageId = \"serde_derive\";\n }\n {\n name = \"serde_json\";\n packageId = \"serde_json\";\n }\n ];\n features = {\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"cc\" = rec {\n crateName = \"cc\";\n version = \"1.0.50\";\n edition = \"2018\";\n crateBin = [];\n sha256 = \"1kdqm8ka7xg9h56b694pcz29ka33fsz27mzrphqc78gx96h8zqlm\";\n authors = [\n \"Alex Crichton \"\n ];\n features = {\n \"parallel\" = [ \"jobserver\" ];\n };\n };\n \"cfg-if\" = rec {\n crateName = \"cfg-if\";\n version = \"0.1.10\";\n edition = \"2018\";\n sha256 = \"08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7\";\n authors = [\n \"Alex Crichton \"\n ];\n features = {\n \"rustc-dep-of-std\" = [ \"core\" \"compiler_builtins\" ];\n };\n };\n \"clap\" = rec {\n crateName = \"clap\";\n version = \"2.33.0\";\n edition = \"2015\";\n sha256 = \"1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh\";\n authors = [\n \"Kevin K. \"\n ];\n dependencies = [\n {\n name = \"ansi_term\";\n packageId = \"ansi_term\";\n optional = true;\n target = { target, features }: (!target.\"windows\");\n }\n {\n name = \"atty\";\n packageId = \"atty\";\n optional = true;\n }\n {\n name = \"bitflags\";\n packageId = \"bitflags\";\n }\n {\n name = \"strsim\";\n packageId = \"strsim\";\n optional = true;\n }\n {\n name = \"textwrap\";\n packageId = \"textwrap\";\n }\n {\n name = \"unicode-width\";\n packageId = \"unicode-width\";\n }\n {\n name = \"vec_map\";\n packageId = \"vec_map\";\n optional = true;\n }\n ];\n features = {\n \"color\" = [ \"ansi_term\" \"atty\" ];\n \"default\" = [ \"suggestions\" \"color\" \"vec_map\" ];\n \"doc\" = [ \"yaml\" ];\n \"lints\" = [ \"clippy\" ];\n \"suggestions\" = [ \"strsim\" ];\n \"wrap_help\" = [ \"term_size\" \"textwrap/term_size\" ];\n \"yaml\" = [ \"yaml-rust\" ];\n };\n resolvedDefaultFeatures = [ \"ansi_term\" \"atty\" \"color\" \"default\" \"strsim\" \"suggestions\" \"vec_map\" ];\n };\n \"clap-verbosity-flag\" = rec {\n crateName = \"clap-verbosity-flag\";\n version = \"0.2.0\";\n edition = \"2015\";\n sha256 = \"1p3nsjdf758nl5bjjz5wi107i43pmywbgi8857slgdxj4d9lz8dx\";\n authors = [\n \"Pascal Hertleif \"\n ];\n dependencies = [\n {\n name = \"env_logger\";\n packageId = \"env_logger\";\n }\n {\n name = \"failure\";\n packageId = \"failure\";\n }\n {\n name = \"log\";\n packageId = \"log\";\n }\n {\n name = \"structopt\";\n packageId = \"structopt 0.2.18\";\n }\n ];\n \n };\n \"colored-diff\" = rec {\n crateName = \"colored-diff\";\n version = \"0.2.2\";\n edition = \"2015\";\n sha256 = \"1zbfjkp7w1wjcxb1p19dd21mn9xkj6nr2s5pav8b16whzh52cvsi\";\n authors = [\n \"Christopher Durham \"\n ];\n dependencies = [\n {\n name = \"ansi_term\";\n packageId = \"ansi_term\";\n }\n {\n name = \"difference\";\n packageId = \"difference\";\n }\n {\n name = \"itertools\";\n packageId = \"itertools 0.7.11\";\n usesDefaultFeatures = false;\n }\n ];\n \n };\n \"crate2nix\" = rec {\n crateName = \"crate2nix\";\n version = \"0.8.0\";\n edition = \"2018\";\n crateBin = [\n { name = \"crate2nix\"; path = \"src/main.rs\"; }\n ];\n src = (builtins.filterSource sourceFilter ./.);\n authors = [\n \"Peter Kolloch \"\n ];\n dependencies = [\n {\n name = \"cargo_metadata\";\n packageId = \"cargo_metadata\";\n }\n {\n name = \"failure\";\n packageId = \"failure\";\n }\n {\n name = \"hex\";\n packageId = \"hex\";\n }\n {\n name = \"itertools\";\n packageId = \"itertools 0.8.2\";\n }\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n }\n {\n name = \"nix-base32\";\n packageId = \"nix-base32\";\n }\n {\n name = \"pathdiff\";\n packageId = \"pathdiff\";\n }\n {\n name = \"quicli\";\n packageId = \"quicli\";\n usesDefaultFeatures = false;\n }\n {\n name = \"semver\";\n packageId = \"semver\";\n }\n {\n name = \"serde\";\n packageId = \"serde\";\n features = [ \"derive\" ];\n }\n {\n name = \"serde_json\";\n packageId = \"serde_json\";\n }\n {\n name = \"structopt\";\n packageId = \"structopt 0.3.12\";\n }\n {\n name = \"tera\";\n packageId = \"tera\";\n usesDefaultFeatures = false;\n }\n {\n name = \"toml\";\n packageId = \"toml\";\n }\n {\n name = \"url\";\n packageId = \"url\";\n }\n {\n name = \"url_serde\";\n packageId = \"url_serde\";\n }\n ];\n devDependencies = [\n {\n name = \"colored-diff\";\n packageId = \"colored-diff\";\n }\n {\n name = \"fs_extra\";\n packageId = \"fs_extra\";\n }\n {\n name = \"tempdir\";\n packageId = \"tempdir\";\n }\n ];\n \n };\n \"crossbeam-channel\" = rec {\n crateName = \"crossbeam-channel\";\n version = \"0.4.2\";\n edition = \"2015\";\n sha256 = \"0qd05n5bcwafkmbzq1lspwrfi29xnzlw46qarg1sl0lwj68qdvfc\";\n authors = [\n \"The Crossbeam Project Developers\"\n ];\n dependencies = [\n {\n name = \"crossbeam-utils\";\n packageId = \"crossbeam-utils\";\n }\n {\n name = \"maybe-uninit\";\n packageId = \"maybe-uninit\";\n }\n ];\n \n };\n \"crossbeam-utils\" = rec {\n crateName = \"crossbeam-utils\";\n version = \"0.7.2\";\n edition = \"2015\";\n sha256 = \"1a31wbrda1320gj2a6az1lin2d34xfc3xf88da4c17qy5lxcgiy3\";\n authors = [\n \"The Crossbeam Project Developers\"\n ];\n dependencies = [\n {\n name = \"cfg-if\";\n packageId = \"cfg-if\";\n }\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n optional = true;\n }\n ];\n buildDependencies = [\n {\n name = \"autocfg\";\n packageId = \"autocfg\";\n }\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"std\" = [ \"lazy_static\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"lazy_static\" \"std\" ];\n };\n \"difference\" = rec {\n crateName = \"difference\";\n version = \"2.0.0\";\n edition = \"2015\";\n crateBin = [];\n sha256 = \"1621wx4k8h452p6xzmzzvm7mz87kxh4yqz0kzxfjj9xmjxlbyk2j\";\n authors = [\n \"Johann Hofmann \"\n ];\n features = {\n \"bin\" = [ \"getopts\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"digest\" = rec {\n crateName = \"digest\";\n version = \"0.8.1\";\n edition = \"2015\";\n sha256 = \"1madjl27f3kj5ql7kwgvb9c8b7yb7bv7yfgx7rqzj4i3fp4cil7k\";\n authors = [\n \"RustCrypto Developers\"\n ];\n dependencies = [\n {\n name = \"generic-array\";\n packageId = \"generic-array\";\n }\n ];\n features = {\n \"dev\" = [ \"blobby\" ];\n };\n };\n \"either\" = rec {\n crateName = \"either\";\n version = \"1.5.3\";\n edition = \"2015\";\n sha256 = \"1qyz1b1acad6w0k5928jw5zaq900zhsk7p8dlcp4hh61w4f6n7xv\";\n authors = [\n \"bluss\"\n ];\n features = {\n \"default\" = [ \"use_std\" ];\n };\n };\n \"env_logger\" = rec {\n crateName = \"env_logger\";\n version = \"0.5.13\";\n edition = \"2015\";\n sha256 = \"0f0c4i4c65jh8lci0afl5yg74ac0lbnpxcp81chj114zwg9a9c0m\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"atty\";\n packageId = \"atty\";\n }\n {\n name = \"humantime\";\n packageId = \"humantime\";\n }\n {\n name = \"log\";\n packageId = \"log\";\n features = [ \"std\" ];\n }\n {\n name = \"regex\";\n packageId = \"regex\";\n optional = true;\n }\n {\n name = \"termcolor\";\n packageId = \"termcolor\";\n }\n ];\n features = {\n \"default\" = [ \"regex\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"regex\" ];\n };\n \"exitfailure\" = rec {\n crateName = \"exitfailure\";\n version = \"0.5.1\";\n edition = \"2015\";\n sha256 = \"0585wix3b3pjjj90fkqj9x4ar46d24x82k8rdin3czzk5a1vvx9g\";\n authors = [\n \"Toby Smith \"\n ];\n dependencies = [\n {\n name = \"failure\";\n packageId = \"failure\";\n }\n ];\n \n };\n \"failure\" = rec {\n crateName = \"failure\";\n version = \"0.1.7\";\n edition = \"2015\";\n sha256 = \"0js6i6mb42q1g6q3csfbmi6q40s64k96705xbim0d8zg44j9qlmq\";\n authors = [\n \"Without Boats \"\n ];\n dependencies = [\n {\n name = \"backtrace\";\n packageId = \"backtrace\";\n optional = true;\n }\n {\n name = \"failure_derive\";\n packageId = \"failure_derive\";\n optional = true;\n }\n ];\n features = {\n \"default\" = [ \"std\" \"derive\" ];\n \"derive\" = [ \"failure_derive\" ];\n \"std\" = [ \"backtrace\" ];\n };\n resolvedDefaultFeatures = [ \"backtrace\" \"default\" \"derive\" \"failure_derive\" \"std\" ];\n };\n \"failure_derive\" = rec {\n crateName = \"failure_derive\";\n version = \"0.1.7\";\n edition = \"2015\";\n sha256 = \"0cfjz0c9szqpxn43b2r722p6m3swzxj7aj6xhqw23ml7h8y762h3\";\n procMacro = true;\n authors = [\n \"Without Boats \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n }\n {\n name = \"synstructure\";\n packageId = \"synstructure\";\n }\n ];\n features = {\n };\n };\n \"fake-simd\" = rec {\n crateName = \"fake-simd\";\n version = \"0.1.2\";\n edition = \"2015\";\n sha256 = \"1vfylvk4va2ivqx85603lyqqp0zk52cgbs4n5nfbbbqx577qm2p8\";\n authors = [\n \"The Rust-Crypto Project Developers\"\n ];\n \n };\n \"fnv\" = rec {\n crateName = \"fnv\";\n version = \"1.0.6\";\n edition = \"2015\";\n sha256 = \"1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g\";\n libPath = \"lib.rs\";\n authors = [\n \"Alex Crichton \"\n ];\n \n };\n \"fs_extra\" = rec {\n crateName = \"fs_extra\";\n version = \"1.1.0\";\n edition = \"2015\";\n sha256 = \"0x6675wdhsx277k1k1235jwcv38naf20d8kwrk948ds26hh4lajz\";\n authors = [\n \"Denis Kurilenko \"\n ];\n \n };\n \"fuchsia-cprng\" = rec {\n crateName = \"fuchsia-cprng\";\n version = \"0.1.1\";\n edition = \"2018\";\n sha256 = \"1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0\";\n authors = [\n \"Erick Tryzelaar \"\n ];\n \n };\n \"generic-array\" = rec {\n crateName = \"generic-array\";\n version = \"0.12.3\";\n edition = \"2015\";\n sha256 = \"1v5jg7djicq34nbiv1dwaki71gkny002wyy9qfn3y0hfmrs053y6\";\n libName = \"generic_array\";\n authors = [\n \"Bartłomiej Kamiński \"\n \"Aaron Trent \"\n ];\n dependencies = [\n {\n name = \"typenum\";\n packageId = \"typenum\";\n }\n ];\n \n };\n \"globset\" = rec {\n crateName = \"globset\";\n version = \"0.4.5\";\n edition = \"2015\";\n sha256 = \"0841ihdg1ps2618cs0kjbr3pn3rzrj24rx3n4pg1sa6p1d1xmlbs\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"aho-corasick\";\n packageId = \"aho-corasick\";\n }\n {\n name = \"bstr\";\n packageId = \"bstr\";\n usesDefaultFeatures = false;\n features = [ \"std\" ];\n }\n {\n name = \"fnv\";\n packageId = \"fnv\";\n }\n {\n name = \"log\";\n packageId = \"log\";\n }\n {\n name = \"regex\";\n packageId = \"regex\";\n }\n ];\n features = {\n \"serde1\" = [ \"serde\" ];\n };\n };\n \"globwalk\" = rec {\n crateName = \"globwalk\";\n version = \"0.7.3\";\n edition = \"2015\";\n sha256 = \"17f9czz46ww5f2qk9349jax7wc38bdmp46cv469plsc6qnp1gnyr\";\n authors = [\n \"Gilad Naaman \"\n ];\n dependencies = [\n {\n name = \"ignore\";\n packageId = \"ignore\";\n }\n {\n name = \"walkdir\";\n packageId = \"walkdir\";\n }\n ];\n \n };\n \"heck\" = rec {\n crateName = \"heck\";\n version = \"0.3.1\";\n edition = \"2015\";\n sha256 = \"01a2v7yvkiqxakdqz4hw3w3g4sm52ivz9cs3qcsv2arxsmw4wmi0\";\n authors = [\n \"Without Boats \"\n ];\n dependencies = [\n {\n name = \"unicode-segmentation\";\n packageId = \"unicode-segmentation\";\n }\n ];\n \n };\n \"hermit-abi\" = rec {\n crateName = \"hermit-abi\";\n version = \"0.1.8\";\n edition = \"2015\";\n sha256 = \"1n7g3bkd0hh9gnnmdzdzrrywqqb0hq8ypaxfkxg87zmv4qdmj40h\";\n authors = [\n \"Stefan Lankes\"\n ];\n dependencies = [\n {\n name = \"libc\";\n packageId = \"libc\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"rustc-dep-of-std\" = [ \"core\" \"compiler_builtins/rustc-dep-of-std\" \"libc/rustc-dep-of-std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"hex\" = rec {\n crateName = \"hex\";\n version = \"0.4.2\";\n edition = \"2018\";\n sha256 = \"0dbf00j3h3pz0lw8jp245rwypna6i23l4cpvym8gsczin9c92kv4\";\n authors = [\n \"KokaKiwi \"\n ];\n features = {\n \"default\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"humantime\" = rec {\n crateName = \"humantime\";\n version = \"1.3.0\";\n edition = \"2015\";\n sha256 = \"0krwgbf35pd46xvkqg14j070vircsndabahahlv3rwhflpy4q06z\";\n authors = [\n \"Paul Colomiets \"\n ];\n dependencies = [\n {\n name = \"quick-error\";\n packageId = \"quick-error\";\n }\n ];\n \n };\n \"idna\" = rec {\n crateName = \"idna\";\n version = \"0.1.5\";\n edition = \"2015\";\n sha256 = \"0kl4gs5kaydn4v07c6ka33spm9qdh2np0x7iw7g5zd8z1c7rxw1q\";\n authors = [\n \"The rust-url developers\"\n ];\n dependencies = [\n {\n name = \"matches\";\n packageId = \"matches\";\n }\n {\n name = \"unicode-bidi\";\n packageId = \"unicode-bidi\";\n }\n {\n name = \"unicode-normalization\";\n packageId = \"unicode-normalization\";\n }\n ];\n \n };\n \"ignore\" = rec {\n crateName = \"ignore\";\n version = \"0.4.13\";\n edition = \"2015\";\n sha256 = \"1fmbrhjv51xrimkm34il2cqhvmf4r4zvwgadrcbsszx6nzyz34nn\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"crossbeam-channel\";\n packageId = \"crossbeam-channel\";\n }\n {\n name = \"crossbeam-utils\";\n packageId = \"crossbeam-utils\";\n }\n {\n name = \"globset\";\n packageId = \"globset\";\n }\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n }\n {\n name = \"log\";\n packageId = \"log\";\n }\n {\n name = \"memchr\";\n packageId = \"memchr\";\n }\n {\n name = \"regex\";\n packageId = \"regex\";\n }\n {\n name = \"same-file\";\n packageId = \"same-file\";\n }\n {\n name = \"thread_local\";\n packageId = \"thread_local\";\n }\n {\n name = \"walkdir\";\n packageId = \"walkdir\";\n }\n {\n name = \"winapi-util\";\n packageId = \"winapi-util\";\n target = { target, features }: target.\"windows\";\n }\n ];\n features = {\n \"simd-accel\" = [ \"globset/simd-accel\" ];\n };\n };\n \"itertools 0.7.11\" = rec {\n crateName = \"itertools\";\n version = \"0.7.11\";\n edition = \"2015\";\n sha256 = \"03cpsj26xmyamcalclqzr1i700vwx8hnbgxbpjvs354f8mnr8iqd\";\n authors = [\n \"bluss\"\n ];\n dependencies = [\n {\n name = \"either\";\n packageId = \"either\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"use_std\" ];\n };\n };\n \"itertools 0.8.2\" = rec {\n crateName = \"itertools\";\n version = \"0.8.2\";\n edition = \"2015\";\n sha256 = \"1154j48aw913v5jnyhpxialxhdn2sfpl4d7bwididyb1r05jsspm\";\n authors = [\n \"bluss\"\n ];\n dependencies = [\n {\n name = \"either\";\n packageId = \"either\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"use_std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"use_std\" ];\n };\n \"itoa\" = rec {\n crateName = \"itoa\";\n version = \"0.4.5\";\n edition = \"2015\";\n sha256 = \"13nxqrfnh83a7x5rw4wq2ilp8nxvwy74dxzysdg59dbxqk0agdxq\";\n authors = [\n \"David Tolnay \"\n ];\n features = {\n \"default\" = [ \"std\" ];\n };\n };\n \"lazy_static\" = rec {\n crateName = \"lazy_static\";\n version = \"1.4.0\";\n edition = \"2015\";\n sha256 = \"0in6ikhw8mgl33wjv6q6xfrb5b9jr16q8ygjy803fay4zcisvaz2\";\n authors = [\n \"Marvin Löbel \"\n ];\n features = {\n \"spin_no_std\" = [ \"spin\" ];\n };\n };\n \"libc\" = rec {\n crateName = \"libc\";\n version = \"0.2.68\";\n edition = \"2015\";\n sha256 = \"1w6z9krcqn7p200sb80dxx76iyvw3jdz949zxr1sgfr3a50c186y\";\n authors = [\n \"The Rust Project Developers\"\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"rustc-dep-of-std\" = [ \"align\" \"rustc-std-workspace-core\" ];\n \"use_std\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"log\" = rec {\n crateName = \"log\";\n version = \"0.4.8\";\n edition = \"2015\";\n sha256 = \"1xz18ixccl5c6np4linv3ypc7hpmmgpc5zzd2ymp2ssfx0mhbdhl\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"cfg-if\";\n packageId = \"cfg-if\";\n }\n ];\n features = {\n \"kv_unstable_sval\" = [ \"kv_unstable\" \"sval/fmt\" ];\n };\n resolvedDefaultFeatures = [ \"std\" ];\n };\n \"maplit\" = rec {\n crateName = \"maplit\";\n version = \"1.0.2\";\n edition = \"2015\";\n sha256 = \"07b5kjnhrrmfhgqm9wprjw8adx6i225lqp49gasgqg74lahnabiy\";\n authors = [\n \"bluss\"\n ];\n \n };\n \"matches\" = rec {\n crateName = \"matches\";\n version = \"0.1.8\";\n edition = \"2015\";\n sha256 = \"020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z\";\n libPath = \"lib.rs\";\n authors = [\n \"Simon Sapin \"\n ];\n \n };\n \"maybe-uninit\" = rec {\n crateName = \"maybe-uninit\";\n version = \"2.0.0\";\n edition = \"2015\";\n sha256 = \"004y0nzmpfdrhz251278341z6ql34iv1k6dp1h6af7d6nd6jwc30\";\n authors = [\n \"est31 \"\n \"The Rust Project Developers\"\n ];\n \n };\n \"memchr\" = rec {\n crateName = \"memchr\";\n version = \"2.3.3\";\n edition = \"2015\";\n sha256 = \"0074pvsfl938ndl5js14ibc7i9q0k3zp390z843w8nlyv4bxha1p\";\n authors = [\n \"Andrew Gallant \"\n \"bluss\"\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"use_std\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" \"use_std\" ];\n };\n \"nix-base32\" = rec {\n crateName = \"nix-base32\";\n version = \"0.1.1\";\n edition = \"2018\";\n sha256 = \"04jnq6arig0amz0scadavbzn9bg9k4zphmrm1562n6ygfj1dnj45\";\n authors = [\n \"Peter Kolloch \"\n ];\n \n };\n \"opaque-debug\" = rec {\n crateName = \"opaque-debug\";\n version = \"0.2.3\";\n edition = \"2015\";\n sha256 = \"172j6bs8ndclqxa2m64qc0y1772rr73g4l9fg2svscgicnbfff98\";\n authors = [\n \"RustCrypto Developers\"\n ];\n \n };\n \"pathdiff\" = rec {\n crateName = \"pathdiff\";\n version = \"0.1.0\";\n edition = \"2015\";\n sha256 = \"0cfg3isnx6mf3wbi7rsg4nmvywby40sbcs589n20fgi09l4p1gx3\";\n authors = [\n \"Manish Goregaokar \"\n ];\n \n };\n \"percent-encoding\" = rec {\n crateName = \"percent-encoding\";\n version = \"1.0.1\";\n edition = \"2015\";\n sha256 = \"0cgq08v1fvr6bs5fvy390cz830lq4fak8havdasdacxcw790s09i\";\n libPath = \"lib.rs\";\n authors = [\n \"The rust-url developers\"\n ];\n \n };\n \"pest\" = rec {\n crateName = \"pest\";\n version = \"2.1.3\";\n edition = \"2015\";\n sha256 = \"0lry80bm90x47nq71wxq83kjrm9ashpz4kbm92p90ysdx4m8gx0h\";\n authors = [\n \"Dragoș Tiselice \"\n ];\n dependencies = [\n {\n name = \"ucd-trie\";\n packageId = \"ucd-trie\";\n }\n ];\n features = {\n \"pretty-print\" = [ \"serde\" \"serde_json\" ];\n };\n };\n \"pest_derive\" = rec {\n crateName = \"pest_derive\";\n version = \"2.1.0\";\n edition = \"2015\";\n sha256 = \"1l5jfa6ril71cw5nsiw0r45br54dd8cj2r1nc2d1wq6wb3jilgc3\";\n procMacro = true;\n authors = [\n \"Dragoș Tiselice \"\n ];\n dependencies = [\n {\n name = \"pest\";\n packageId = \"pest\";\n }\n {\n name = \"pest_generator\";\n packageId = \"pest_generator\";\n }\n ];\n \n };\n \"pest_generator\" = rec {\n crateName = \"pest_generator\";\n version = \"2.1.3\";\n edition = \"2015\";\n sha256 = \"0mfgl0p6v91ywdqr9i8w053v70cnfqjk8y5rhwbvir9idridpf4r\";\n authors = [\n \"Dragoș Tiselice \"\n ];\n dependencies = [\n {\n name = \"pest\";\n packageId = \"pest\";\n }\n {\n name = \"pest_meta\";\n packageId = \"pest_meta\";\n }\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n }\n ];\n \n };\n \"pest_meta\" = rec {\n crateName = \"pest_meta\";\n version = \"2.1.3\";\n edition = \"2015\";\n sha256 = \"07d1jbbbpxpchk0j37ljas46sdyyg599z3zw2ac0f5sk9x06xgjl\";\n authors = [\n \"Dragoș Tiselice \"\n ];\n dependencies = [\n {\n name = \"maplit\";\n packageId = \"maplit\";\n }\n {\n name = \"pest\";\n packageId = \"pest\";\n }\n ];\n buildDependencies = [\n {\n name = \"sha-1\";\n packageId = \"sha-1\";\n usesDefaultFeatures = false;\n }\n ];\n \n };\n \"proc-macro-error\" = rec {\n crateName = \"proc-macro-error\";\n version = \"0.4.12\";\n edition = \"2018\";\n sha256 = \"1rvpaadwv7vmsp142qqh2axqrr9v78f1nvdsi9nhmfhy10kk1wqq\";\n authors = [\n \"CreepySkeleton \"\n ];\n dependencies = [\n {\n name = \"proc-macro-error-attr\";\n packageId = \"proc-macro-error-attr\";\n }\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n usesDefaultFeatures = false;\n features = [ \"derive\" \"parsing\" \"proc-macro\" \"printing\" ];\n }\n ];\n buildDependencies = [\n {\n name = \"version_check\";\n packageId = \"version_check\";\n }\n ];\n \n };\n \"proc-macro-error-attr\" = rec {\n crateName = \"proc-macro-error-attr\";\n version = \"0.4.12\";\n edition = \"2018\";\n sha256 = \"1pk9mwcfnpf8favgc2cl4sqlmi818p96hg8pfb51wg5nzmvlnnwa\";\n procMacro = true;\n authors = [\n \"CreepySkeleton \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n usesDefaultFeatures = false;\n features = [ \"derive\" \"parsing\" \"proc-macro\" \"printing\" ];\n }\n {\n name = \"syn-mid\";\n packageId = \"syn-mid\";\n }\n ];\n buildDependencies = [\n {\n name = \"version_check\";\n packageId = \"version_check\";\n }\n ];\n \n };\n \"proc-macro2 0.4.30\" = rec {\n crateName = \"proc-macro2\";\n version = \"0.4.30\";\n edition = \"2015\";\n sha256 = \"0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg\";\n authors = [\n \"Alex Crichton \"\n ];\n dependencies = [\n {\n name = \"unicode-xid\";\n packageId = \"unicode-xid 0.1.0\";\n }\n ];\n features = {\n \"default\" = [ \"proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"proc-macro\" ];\n };\n \"proc-macro2 1.0.9\" = rec {\n crateName = \"proc-macro2\";\n version = \"1.0.9\";\n edition = \"2018\";\n sha256 = \"0d9lr9h0rpa4gi78ha37zqbmkdhrpyjvb5ia94m3ljc1cwf742bc\";\n authors = [\n \"Alex Crichton \"\n ];\n dependencies = [\n {\n name = \"unicode-xid\";\n packageId = \"unicode-xid 0.2.0\";\n }\n ];\n features = {\n \"default\" = [ \"proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"proc-macro\" ];\n };\n \"quick-error\" = rec {\n crateName = \"quick-error\";\n version = \"1.2.3\";\n edition = \"2015\";\n sha256 = \"1q6za3v78hsspisc197bg3g7rpc989qycy8ypr8ap8igv10ikl51\";\n authors = [\n \"Paul Colomiets \"\n \"Colin Kiegel \"\n ];\n \n };\n \"quicli\" = rec {\n crateName = \"quicli\";\n version = \"0.4.0\";\n edition = \"2018\";\n sha256 = \"0v3gv1dcn437aa9rhibs0k9xgsj2jqzarvca76q3qpjsiplkk1cy\";\n authors = [\n \"Pascal Hertleif \"\n ];\n dependencies = [\n {\n name = \"clap-verbosity-flag\";\n packageId = \"clap-verbosity-flag\";\n }\n {\n name = \"exitfailure\";\n packageId = \"exitfailure\";\n }\n {\n name = \"failure\";\n packageId = \"failure\";\n }\n {\n name = \"failure_derive\";\n packageId = \"failure_derive\";\n }\n {\n name = \"log\";\n packageId = \"log\";\n }\n ];\n features = {\n \"default\" = [ \"full-throttle\" ];\n \"full-throttle\" = [ \"serde\" \"serde_derive\" \"globwalk\" \"rayon\" \"remove_dir_all\" ];\n };\n };\n \"quote 0.6.13\" = rec {\n crateName = \"quote\";\n version = \"0.6.13\";\n edition = \"2015\";\n sha256 = \"1qgqq48jymp5h4y082aanf25hrw6bpb678xh3zw993qfhxmkpqkc\";\n authors = [\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 0.4.30\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"proc-macro\" ];\n \"proc-macro\" = [ \"proc-macro2/proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"proc-macro\" ];\n };\n \"quote 1.0.3\" = rec {\n crateName = \"quote\";\n version = \"1.0.3\";\n edition = \"2018\";\n sha256 = \"0zwd6fp74xfg4jnnnwj4v84lkzif2giwj4ch1hka9g35ghc6rp1b\";\n authors = [\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"proc-macro\" ];\n \"proc-macro\" = [ \"proc-macro2/proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"proc-macro\" ];\n };\n \"rand\" = rec {\n crateName = \"rand\";\n version = \"0.4.6\";\n edition = \"2015\";\n sha256 = \"14qjfv3gggzhnma20k0sc1jf8y6pplsaq7n1j9ls5c8kf2wl0a2m\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"fuchsia-cprng\";\n packageId = \"fuchsia-cprng\";\n target = { target, features }: (target.\"os\" == \"fuchsia\");\n }\n {\n name = \"libc\";\n packageId = \"libc\";\n optional = true;\n target = { target, features }: target.\"unix\";\n }\n {\n name = \"rand_core\";\n packageId = \"rand_core 0.3.1\";\n usesDefaultFeatures = false;\n target = { target, features }: (target.\"env\" == \"sgx\");\n }\n {\n name = \"rdrand\";\n packageId = \"rdrand\";\n target = { target, features }: (target.\"env\" == \"sgx\");\n }\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: target.\"windows\";\n features = [ \"minwindef\" \"ntsecapi\" \"profileapi\" \"winnt\" ];\n }\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"nightly\" = [ \"i128_support\" ];\n \"std\" = [ \"libc\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"libc\" \"std\" ];\n };\n \"rand_core 0.3.1\" = rec {\n crateName = \"rand_core\";\n version = \"0.3.1\";\n edition = \"2015\";\n sha256 = \"0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs\";\n authors = [\n \"The Rand Project Developers\"\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"rand_core\";\n packageId = \"rand_core 0.4.2\";\n }\n ];\n features = {\n \"alloc\" = [ \"rand_core/alloc\" ];\n \"default\" = [ \"std\" ];\n \"serde1\" = [ \"rand_core/serde1\" ];\n \"std\" = [ \"rand_core/std\" ];\n };\n };\n \"rand_core 0.4.2\" = rec {\n crateName = \"rand_core\";\n version = \"0.4.2\";\n edition = \"2015\";\n sha256 = \"1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww\";\n authors = [\n \"The Rand Project Developers\"\n \"The Rust Project Developers\"\n ];\n features = {\n \"serde1\" = [ \"serde\" \"serde_derive\" ];\n \"std\" = [ \"alloc\" ];\n };\n };\n \"rdrand\" = rec {\n crateName = \"rdrand\";\n version = \"0.4.0\";\n edition = \"2015\";\n sha256 = \"1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037\";\n authors = [\n \"Simonas Kazlauskas \"\n ];\n dependencies = [\n {\n name = \"rand_core\";\n packageId = \"rand_core 0.3.1\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"regex\" = rec {\n crateName = \"regex\";\n version = \"1.3.6\";\n edition = \"2015\";\n sha256 = \"1cx4lcgy7vdi2kij2n1dp2whl33d7974g1kxwiklhs192nclcsbz\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"aho-corasick\";\n packageId = \"aho-corasick\";\n optional = true;\n }\n {\n name = \"memchr\";\n packageId = \"memchr\";\n optional = true;\n }\n {\n name = \"regex-syntax\";\n packageId = \"regex-syntax\";\n usesDefaultFeatures = false;\n }\n {\n name = \"thread_local\";\n packageId = \"thread_local\";\n optional = true;\n }\n ];\n features = {\n \"default\" = [ \"std\" \"perf\" \"unicode\" ];\n \"perf\" = [ \"perf-cache\" \"perf-dfa\" \"perf-inline\" \"perf-literal\" ];\n \"perf-cache\" = [ \"thread_local\" ];\n \"perf-literal\" = [ \"aho-corasick\" \"memchr\" ];\n \"unicode\" = [ \"unicode-age\" \"unicode-bool\" \"unicode-case\" \"unicode-gencat\" \"unicode-perl\" \"unicode-script\" \"unicode-segment\" ];\n \"unicode-age\" = [ \"regex-syntax/unicode-age\" ];\n \"unicode-bool\" = [ \"regex-syntax/unicode-bool\" ];\n \"unicode-case\" = [ \"regex-syntax/unicode-case\" ];\n \"unicode-gencat\" = [ \"regex-syntax/unicode-gencat\" ];\n \"unicode-perl\" = [ \"regex-syntax/unicode-perl\" ];\n \"unicode-script\" = [ \"regex-syntax/unicode-script\" ];\n \"unicode-segment\" = [ \"regex-syntax/unicode-segment\" ];\n \"unstable\" = [ \"pattern\" ];\n \"use_std\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"aho-corasick\" \"default\" \"memchr\" \"perf\" \"perf-cache\" \"perf-dfa\" \"perf-inline\" \"perf-literal\" \"std\" \"thread_local\" \"unicode\" \"unicode-age\" \"unicode-bool\" \"unicode-case\" \"unicode-gencat\" \"unicode-perl\" \"unicode-script\" \"unicode-segment\" ];\n };\n \"regex-syntax\" = rec {\n crateName = \"regex-syntax\";\n version = \"0.6.17\";\n edition = \"2015\";\n sha256 = \"1blmlgzcg7in3kcxqabpfzzrbnamr2i671flbrmlqhfps5bvvrbz\";\n authors = [\n \"The Rust Project Developers\"\n ];\n features = {\n \"default\" = [ \"unicode\" ];\n \"unicode\" = [ \"unicode-age\" \"unicode-bool\" \"unicode-case\" \"unicode-gencat\" \"unicode-perl\" \"unicode-script\" \"unicode-segment\" ];\n };\n resolvedDefaultFeatures = [ \"unicode-age\" \"unicode-bool\" \"unicode-case\" \"unicode-gencat\" \"unicode-perl\" \"unicode-script\" \"unicode-segment\" ];\n };\n \"remove_dir_all\" = rec {\n crateName = \"remove_dir_all\";\n version = \"0.5.2\";\n edition = \"2015\";\n sha256 = \"0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa\";\n authors = [\n \"Aaronepower \"\n ];\n dependencies = [\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: target.\"windows\";\n features = [ \"std\" \"errhandlingapi\" \"winerror\" \"fileapi\" \"winbase\" ];\n }\n ];\n \n };\n \"rustc-demangle\" = rec {\n crateName = \"rustc-demangle\";\n version = \"0.1.16\";\n edition = \"2015\";\n sha256 = \"10qp42sl1wrdbgbbh8rnay2grm976z7hqgz32c4y09l1c071qsac\";\n authors = [\n \"Alex Crichton \"\n ];\n features = {\n \"rustc-dep-of-std\" = [ \"core\" \"compiler_builtins\" ];\n };\n };\n \"ryu\" = rec {\n crateName = \"ryu\";\n version = \"1.0.3\";\n edition = \"2015\";\n sha256 = \"0xlx9ybzncrb7d6r9533g8ydlg6mr252pfzl4g9cqaqkpvk24mjk\";\n authors = [\n \"David Tolnay \"\n ];\n features = {\n };\n };\n \"same-file\" = rec {\n crateName = \"same-file\";\n version = \"1.0.6\";\n edition = \"2018\";\n sha256 = \"00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"winapi-util\";\n packageId = \"winapi-util\";\n target = { target, features }: target.\"windows\";\n }\n ];\n \n };\n \"semver\" = rec {\n crateName = \"semver\";\n version = \"0.9.0\";\n edition = \"2015\";\n sha256 = \"00q4lkcj0rrgbhviv9sd4p6qmdsipkwkbra7rh11jrhq5kpvjzhx\";\n authors = [\n \"Steve Klabnik \"\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"semver-parser\";\n packageId = \"semver-parser\";\n }\n {\n name = \"serde\";\n packageId = \"serde\";\n optional = true;\n }\n ];\n features = {\n \"ci\" = [ \"serde\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"serde\" ];\n };\n \"semver-parser\" = rec {\n crateName = \"semver-parser\";\n version = \"0.7.0\";\n edition = \"2015\";\n sha256 = \"18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq\";\n authors = [\n \"Steve Klabnik \"\n ];\n \n };\n \"serde\" = rec {\n crateName = \"serde\";\n version = \"1.0.105\";\n edition = \"2015\";\n sha256 = \"1zrj157dxvmymp5ii60anap2qqks4pkr3fwsp71wi3sv4nzzn1z7\";\n authors = [\n \"Erick Tryzelaar \"\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"serde_derive\";\n packageId = \"serde_derive\";\n optional = true;\n }\n ];\n devDependencies = [\n {\n name = \"serde_derive\";\n packageId = \"serde_derive\";\n }\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"derive\" = [ \"serde_derive\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"derive\" \"serde_derive\" \"std\" ];\n };\n \"serde_derive\" = rec {\n crateName = \"serde_derive\";\n version = \"1.0.105\";\n edition = \"2015\";\n sha256 = \"1y5gzwpy8yjv9pwh1js11vr18nfz4gg1g2kmyr6p58hvavy00pdc\";\n procMacro = true;\n authors = [\n \"Erick Tryzelaar \"\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n features = [ \"visit\" ];\n }\n ];\n features = {\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"serde_json\" = rec {\n crateName = \"serde_json\";\n version = \"1.0.48\";\n edition = \"2018\";\n sha256 = \"09cwggp707hf0qswzrg00nffr09prx99f6qlajqnqbacbpksswck\";\n authors = [\n \"Erick Tryzelaar \"\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"itoa\";\n packageId = \"itoa\";\n usesDefaultFeatures = false;\n }\n {\n name = \"ryu\";\n packageId = \"ryu\";\n }\n {\n name = \"serde\";\n packageId = \"serde\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"alloc\" = [ \"serde/alloc\" ];\n \"default\" = [ \"std\" ];\n \"preserve_order\" = [ \"indexmap\" ];\n \"std\" = [ \"serde/std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"sha-1\" = rec {\n crateName = \"sha-1\";\n version = \"0.8.2\";\n edition = \"2015\";\n sha256 = \"1pv387q0r7llk2cqzyq0nivzvkgqgzsiygqzlv7b68z9xl5lvngp\";\n libName = \"sha1\";\n authors = [\n \"RustCrypto Developers\"\n ];\n dependencies = [\n {\n name = \"block-buffer\";\n packageId = \"block-buffer\";\n }\n {\n name = \"digest\";\n packageId = \"digest\";\n }\n {\n name = \"fake-simd\";\n packageId = \"fake-simd\";\n }\n {\n name = \"opaque-debug\";\n packageId = \"opaque-debug\";\n }\n ];\n devDependencies = [\n {\n name = \"digest\";\n packageId = \"digest\";\n features = [ \"dev\" ];\n }\n ];\n features = {\n \"asm\" = [ \"sha1-asm\" ];\n \"asm-aarch64\" = [ \"asm\" \"libc\" ];\n \"default\" = [ \"std\" ];\n \"std\" = [ \"digest/std\" ];\n };\n };\n \"smallvec\" = rec {\n crateName = \"smallvec\";\n version = \"1.2.0\";\n edition = \"2018\";\n sha256 = \"1z6f47i3qpg9pdjzzvb0g5i1vvdm2ymk3kqc1mdnl8fdkgnb4bsw\";\n libPath = \"lib.rs\";\n authors = [\n \"Simon Sapin \"\n ];\n features = {\n };\n };\n \"strsim\" = rec {\n crateName = \"strsim\";\n version = \"0.8.0\";\n edition = \"2015\";\n sha256 = \"0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf\";\n authors = [\n \"Danny Guo \"\n ];\n \n };\n \"structopt 0.2.18\" = rec {\n crateName = \"structopt\";\n version = \"0.2.18\";\n edition = \"2015\";\n sha256 = \"1mvfv1l8vp3y402fkl2wcl34hi7gmr4bqha13dfz2xf3kjzwvhhn\";\n authors = [\n \"Guillaume Pinot \"\n \"others\"\n ];\n dependencies = [\n {\n name = \"clap\";\n packageId = \"clap\";\n usesDefaultFeatures = false;\n }\n {\n name = \"structopt-derive\";\n packageId = \"structopt-derive 0.2.18\";\n }\n ];\n features = {\n \"color\" = [ \"clap/color\" ];\n \"debug\" = [ \"clap/debug\" ];\n \"default\" = [ \"clap/default\" ];\n \"doc\" = [ \"clap/doc\" ];\n \"lints\" = [ \"clap/lints\" ];\n \"nightly\" = [ \"structopt-derive/nightly\" ];\n \"no_cargo\" = [ \"clap/no_cargo\" ];\n \"paw\" = [ \"structopt-derive/paw\" ];\n \"suggestions\" = [ \"clap/suggestions\" ];\n \"wrap_help\" = [ \"clap/wrap_help\" ];\n \"yaml\" = [ \"clap/yaml\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"structopt 0.3.12\" = rec {\n crateName = \"structopt\";\n version = \"0.3.12\";\n edition = \"2018\";\n sha256 = \"178m7wxnjyy9a8a961z74nazjsg79rfv3gv9g3bykfrrjmqs5yn8\";\n authors = [\n \"Guillaume Pinot \"\n \"others\"\n ];\n dependencies = [\n {\n name = \"clap\";\n packageId = \"clap\";\n usesDefaultFeatures = false;\n }\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n }\n {\n name = \"structopt-derive\";\n packageId = \"structopt-derive 0.4.5\";\n }\n ];\n features = {\n \"color\" = [ \"clap/color\" ];\n \"debug\" = [ \"clap/debug\" ];\n \"default\" = [ \"clap/default\" ];\n \"doc\" = [ \"clap/doc\" ];\n \"lints\" = [ \"clap/lints\" ];\n \"no_cargo\" = [ \"clap/no_cargo\" ];\n \"paw\" = [ \"structopt-derive/paw\" ];\n \"suggestions\" = [ \"clap/suggestions\" ];\n \"wrap_help\" = [ \"clap/wrap_help\" ];\n \"yaml\" = [ \"clap/yaml\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"structopt-derive 0.2.18\" = rec {\n crateName = \"structopt-derive\";\n version = \"0.2.18\";\n edition = \"2015\";\n sha256 = \"01sis9z5kqmyhvzbnmlzpdxcry99a0b9blypksgnhdsbm1hh40ak\";\n procMacro = true;\n authors = [\n \"Guillaume Pinot \"\n ];\n dependencies = [\n {\n name = \"heck\";\n packageId = \"heck\";\n }\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 0.4.30\";\n }\n {\n name = \"quote\";\n packageId = \"quote 0.6.13\";\n }\n {\n name = \"syn\";\n packageId = \"syn 0.15.44\";\n }\n ];\n features = {\n \"nightly\" = [ \"proc-macro2/nightly\" ];\n };\n };\n \"structopt-derive 0.4.5\" = rec {\n crateName = \"structopt-derive\";\n version = \"0.4.5\";\n edition = \"2018\";\n sha256 = \"0c04bbzc5bmr2ns6qy35yz55nn3xvlq4dpwxdynnljb9ikhvi21z\";\n procMacro = true;\n authors = [\n \"Guillaume Pinot \"\n ];\n dependencies = [\n {\n name = \"heck\";\n packageId = \"heck\";\n }\n {\n name = \"proc-macro-error\";\n packageId = \"proc-macro-error\";\n }\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n features = [ \"full\" ];\n }\n ];\n features = {\n };\n };\n \"syn 0.15.44\" = rec {\n crateName = \"syn\";\n version = \"0.15.44\";\n edition = \"2015\";\n sha256 = \"1id5g6x6zihv3j7hwrw3m1jp636bg8dpi671r7zy3jvpkavb794w\";\n authors = [\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 0.4.30\";\n usesDefaultFeatures = false;\n }\n {\n name = \"quote\";\n packageId = \"quote 0.6.13\";\n optional = true;\n usesDefaultFeatures = false;\n }\n {\n name = \"unicode-xid\";\n packageId = \"unicode-xid 0.1.0\";\n }\n ];\n features = {\n \"default\" = [ \"derive\" \"parsing\" \"printing\" \"clone-impls\" \"proc-macro\" ];\n \"printing\" = [ \"quote\" ];\n \"proc-macro\" = [ \"proc-macro2/proc-macro\" \"quote/proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"clone-impls\" \"default\" \"derive\" \"parsing\" \"printing\" \"proc-macro\" \"quote\" ];\n };\n \"syn 1.0.17\" = rec {\n crateName = \"syn\";\n version = \"1.0.17\";\n edition = \"2018\";\n sha256 = \"00xvf772ys4fj9fr8kplmsqb9if215dsipi3nv54aw9q7xkfpw0d\";\n authors = [\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n usesDefaultFeatures = false;\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n optional = true;\n usesDefaultFeatures = false;\n }\n {\n name = \"unicode-xid\";\n packageId = \"unicode-xid 0.2.0\";\n }\n ];\n features = {\n \"default\" = [ \"derive\" \"parsing\" \"printing\" \"clone-impls\" \"proc-macro\" ];\n \"printing\" = [ \"quote\" ];\n \"proc-macro\" = [ \"proc-macro2/proc-macro\" \"quote/proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"clone-impls\" \"default\" \"derive\" \"extra-traits\" \"full\" \"parsing\" \"printing\" \"proc-macro\" \"quote\" \"visit\" ];\n };\n \"syn-mid\" = rec {\n crateName = \"syn-mid\";\n version = \"0.5.0\";\n edition = \"2018\";\n sha256 = \"12ikg5jfklixq0wsgfl7sdzjqlxgq50ygklxy4f972hjdjgm7qvv\";\n authors = [\n \"Taiki Endo \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n usesDefaultFeatures = false;\n features = [ \"parsing\" \"printing\" \"derive\" ];\n }\n ];\n features = {\n \"clone-impls\" = [ \"syn/clone-impls\" ];\n };\n };\n \"synstructure\" = rec {\n crateName = \"synstructure\";\n version = \"0.12.3\";\n edition = \"2018\";\n sha256 = \"0igmc5fzpk6fg7kgff914j05lbpc6ai2wmji312v2h8vvjhnwrb7\";\n authors = [\n \"Nika Layzell \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n usesDefaultFeatures = false;\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n usesDefaultFeatures = false;\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n usesDefaultFeatures = false;\n features = [ \"derive\" \"parsing\" \"printing\" \"clone-impls\" \"visit\" \"extra-traits\" ];\n }\n {\n name = \"unicode-xid\";\n packageId = \"unicode-xid 0.2.0\";\n }\n ];\n features = {\n \"default\" = [ \"proc-macro\" ];\n \"proc-macro\" = [ \"proc-macro2/proc-macro\" \"syn/proc-macro\" \"quote/proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"proc-macro\" ];\n };\n \"tempdir\" = rec {\n crateName = \"tempdir\";\n version = \"0.3.7\";\n edition = \"2015\";\n sha256 = \"1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"rand\";\n packageId = \"rand\";\n }\n {\n name = \"remove_dir_all\";\n packageId = \"remove_dir_all\";\n }\n ];\n \n };\n \"tera\" = rec {\n crateName = \"tera\";\n version = \"1.1.0\";\n edition = \"2018\";\n sha256 = \"13f9syjxf4kcq9pp8vnaad6y5z7wksxav5f8y1izqhx22hazh8jl\";\n authors = [\n \"Vincent Prouillet \"\n ];\n dependencies = [\n {\n name = \"globwalk\";\n packageId = \"globwalk\";\n }\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n }\n {\n name = \"pest\";\n packageId = \"pest\";\n }\n {\n name = \"pest_derive\";\n packageId = \"pest_derive\";\n }\n {\n name = \"regex\";\n packageId = \"regex\";\n }\n {\n name = \"serde\";\n packageId = \"serde\";\n }\n {\n name = \"serde_json\";\n packageId = \"serde_json\";\n }\n ];\n features = {\n \"builtins\" = [ \"slug\" \"percent-encoding\" \"humansize\" \"chrono\" \"chrono-tz\" \"unic-segment\" \"rand\" ];\n \"default\" = [ \"builtins\" ];\n \"preserve_order\" = [ \"serde_json/preserve_order\" ];\n };\n };\n \"termcolor\" = rec {\n crateName = \"termcolor\";\n version = \"1.1.0\";\n edition = \"2018\";\n sha256 = \"0pyp8vc0gx7124y80ixdl6plbfn1yjhw04i875k5fz2dk8lglsxv\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"winapi-util\";\n packageId = \"winapi-util\";\n target = { target, features }: target.\"windows\";\n }\n ];\n \n };\n \"textwrap\" = rec {\n crateName = \"textwrap\";\n version = \"0.11.0\";\n edition = \"2015\";\n sha256 = \"0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk\";\n authors = [\n \"Martin Geisler \"\n ];\n dependencies = [\n {\n name = \"unicode-width\";\n packageId = \"unicode-width\";\n }\n ];\n \n };\n \"thread_local\" = rec {\n crateName = \"thread_local\";\n version = \"1.0.1\";\n edition = \"2015\";\n sha256 = \"054vlrr1vsdy1h4b7n99mr24pnj8928ig9qwzg36wnkld4dns36l\";\n authors = [\n \"Amanieu d\'Antras \"\n ];\n dependencies = [\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n }\n ];\n \n };\n \"toml\" = rec {\n crateName = \"toml\";\n version = \"0.5.6\";\n edition = \"2018\";\n sha256 = \"06n7j8z63hj6g0kj2x6sqwxnm4q3s0q5d873bdk41vqy1cb2vjgz\";\n authors = [\n \"Alex Crichton \"\n ];\n dependencies = [\n {\n name = \"serde\";\n packageId = \"serde\";\n }\n ];\n features = {\n \"preserve_order\" = [ \"indexmap\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"typenum\" = rec {\n crateName = \"typenum\";\n version = \"1.11.2\";\n edition = \"2015\";\n sha256 = \"1ybmfpp7j37zmaw50w35wiwx66lbpr0yp1312c0i333b5pz869vd\";\n build = \"build/main.rs\";\n authors = [\n \"Paho Lurie-Gregg \"\n \"Andre Bogus \"\n ];\n features = {\n };\n };\n \"ucd-trie\" = rec {\n crateName = \"ucd-trie\";\n version = \"0.1.3\";\n edition = \"2018\";\n sha256 = \"072cblf8v3wzyaz3lhbpzgil4s03dpzg1ppy3gqx2l4v622y3pjn\";\n authors = [\n \"Andrew Gallant \"\n ];\n features = {\n \"default\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"unicode-bidi\" = rec {\n crateName = \"unicode-bidi\";\n version = \"0.3.4\";\n edition = \"2015\";\n sha256 = \"1malx8ljgm7v1gbaazkn7iicy5wj0bwcyadj3l727a38ch6bvwj9\";\n libName = \"unicode_bidi\";\n authors = [\n \"The Servo Project Developers\"\n ];\n dependencies = [\n {\n name = \"matches\";\n packageId = \"matches\";\n }\n ];\n features = {\n \"flame_it\" = [ \"flame\" \"flamer\" ];\n \"with_serde\" = [ \"serde\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"unicode-normalization\" = rec {\n crateName = \"unicode-normalization\";\n version = \"0.1.12\";\n edition = \"2015\";\n sha256 = \"195gb4fzlgg4g9cv6w057ncpmvvnx30r00w9hj114knhmlmm6yal\";\n authors = [\n \"kwantam \"\n ];\n dependencies = [\n {\n name = \"smallvec\";\n packageId = \"smallvec\";\n }\n ];\n \n };\n \"unicode-segmentation\" = rec {\n crateName = \"unicode-segmentation\";\n version = \"1.6.0\";\n edition = \"2015\";\n sha256 = \"1h7d48mzpi8hwf5cvnq07warkv86pvapzzzf32hvbjsk20yiagp8\";\n authors = [\n \"kwantam \"\n \"Manish Goregaokar \"\n ];\n features = {\n };\n };\n \"unicode-width\" = rec {\n crateName = \"unicode-width\";\n version = \"0.1.7\";\n edition = \"2015\";\n sha256 = \"0yflmxkxmm89ckrb3sz58whn491aycrj8cxra0hzzlb72x9rvana\";\n authors = [\n \"kwantam \"\n \"Manish Goregaokar \"\n ];\n features = {\n \"rustc-dep-of-std\" = [ \"std\" \"core\" \"compiler_builtins\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"unicode-xid 0.1.0\" = rec {\n crateName = \"unicode-xid\";\n version = \"0.1.0\";\n edition = \"2015\";\n sha256 = \"1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw\";\n authors = [\n \"erick.tryzelaar \"\n \"kwantam \"\n ];\n features = {\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"unicode-xid 0.2.0\" = rec {\n crateName = \"unicode-xid\";\n version = \"0.2.0\";\n edition = \"2015\";\n sha256 = \"0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2\";\n authors = [\n \"erick.tryzelaar \"\n \"kwantam \"\n ];\n features = {\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"url\" = rec {\n crateName = \"url\";\n version = \"1.7.2\";\n edition = \"2015\";\n sha256 = \"0nim1c90mxpi9wgdw2xh8dqd72vlklwlzam436akcrhjac6pqknx\";\n authors = [\n \"The rust-url developers\"\n ];\n dependencies = [\n {\n name = \"idna\";\n packageId = \"idna\";\n }\n {\n name = \"matches\";\n packageId = \"matches\";\n }\n {\n name = \"percent-encoding\";\n packageId = \"percent-encoding\";\n }\n ];\n features = {\n \"heap_size\" = [ \"heapsize\" ];\n \"query_encoding\" = [ \"encoding\" ];\n };\n };\n \"url_serde\" = rec {\n crateName = \"url_serde\";\n version = \"0.2.0\";\n edition = \"2015\";\n sha256 = \"1snxgdzlcj5mpnbkpnzm533l6830qf9hrmmxshizhlpfy6cx1rvl\";\n authors = [\n \"The rust-url developers\"\n ];\n dependencies = [\n {\n name = \"serde\";\n packageId = \"serde\";\n }\n {\n name = \"url\";\n packageId = \"url\";\n }\n ];\n \n };\n \"vec_map\" = rec {\n crateName = \"vec_map\";\n version = \"0.8.1\";\n edition = \"2015\";\n sha256 = \"06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5\";\n authors = [\n \"Alex Crichton \"\n \"Jorge Aparicio \"\n \"Alexis Beingessner \"\n \"Brian Anderson <>\"\n \"tbu- <>\"\n \"Manish Goregaokar <>\"\n \"Aaron Turon \"\n \"Adolfo Ochagavía <>\"\n \"Niko Matsakis <>\"\n \"Steven Fackler <>\"\n \"Chase Southwood \"\n \"Eduard Burtescu <>\"\n \"Florian Wilkens <>\"\n \"Félix Raimundo <>\"\n \"Tibor Benke <>\"\n \"Markus Siemens \"\n \"Josh Branchaud \"\n \"Huon Wilson \"\n \"Corey Farwell \"\n \"Aaron Liblong <>\"\n \"Nick Cameron \"\n \"Patrick Walton \"\n \"Felix S Klock II <>\"\n \"Andrew Paseltiner \"\n \"Sean McArthur \"\n \"Vadim Petrochenkov <>\"\n ];\n features = {\n \"eders\" = [ \"serde\" ];\n };\n };\n \"version_check\" = rec {\n crateName = \"version_check\";\n version = \"0.9.1\";\n edition = \"2015\";\n sha256 = \"1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7\";\n authors = [\n \"Sergio Benitez \"\n ];\n \n };\n \"walkdir\" = rec {\n crateName = \"walkdir\";\n version = \"2.3.1\";\n edition = \"2018\";\n sha256 = \"0z9g39f49cycdm9vzjf8hnfh3f1csxgd65kmlphj8r2vffy84wbp\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"same-file\";\n packageId = \"same-file\";\n }\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: target.\"windows\";\n features = [ \"std\" \"winnt\" ];\n }\n {\n name = \"winapi-util\";\n packageId = \"winapi-util\";\n target = { target, features }: target.\"windows\";\n }\n ];\n \n };\n \"winapi\" = rec {\n crateName = \"winapi\";\n version = \"0.3.8\";\n edition = \"2015\";\n sha256 = \"1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0\";\n authors = [\n \"Peter Atashian \"\n ];\n dependencies = [\n {\n name = \"winapi-i686-pc-windows-gnu\";\n packageId = \"winapi-i686-pc-windows-gnu\";\n target = { target, features }: (stdenv.hostPlatform.config == \"i686-pc-windows-gnu\");\n }\n {\n name = \"winapi-x86_64-pc-windows-gnu\";\n packageId = \"winapi-x86_64-pc-windows-gnu\";\n target = { target, features }: (stdenv.hostPlatform.config == \"x86_64-pc-windows-gnu\");\n }\n ];\n features = {\n \"debug\" = [ \"impl-debug\" ];\n };\n resolvedDefaultFeatures = [ \"consoleapi\" \"errhandlingapi\" \"fileapi\" \"minwinbase\" \"minwindef\" \"ntsecapi\" \"processenv\" \"profileapi\" \"std\" \"winbase\" \"wincon\" \"winerror\" \"winnt\" ];\n };\n \"winapi-i686-pc-windows-gnu\" = rec {\n crateName = \"winapi-i686-pc-windows-gnu\";\n version = \"0.4.0\";\n edition = \"2015\";\n sha256 = \"1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc\";\n authors = [\n \"Peter Atashian \"\n ];\n \n };\n \"winapi-util\" = rec {\n crateName = \"winapi-util\";\n version = \"0.1.3\";\n edition = \"2018\";\n sha256 = \"105dq898nah3dwrzr96vvb5srp6g2v5dl5vmzf211lba9iavzksc\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: target.\"windows\";\n features = [ \"std\" \"consoleapi\" \"errhandlingapi\" \"fileapi\" \"minwindef\" \"processenv\" \"winbase\" \"wincon\" \"winerror\" \"winnt\" ];\n }\n ];\n \n };\n \"winapi-x86_64-pc-windows-gnu\" = rec {\n crateName = \"winapi-x86_64-pc-windows-gnu\";\n version = \"0.4.0\";\n edition = \"2015\";\n sha256 = \"0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki\";\n authors = [\n \"Peter Atashian \"\n ];\n \n };\n };\n\n #\n# crate2nix/default.nix (excerpt start)\n#\n\n /* Target (platform) data for conditional dependencies.\n This corresponds roughly to what buildRustCrate is setting.\n */\n defaultTarget = {\n unix = true;\n windows = false;\n fuchsia = true;\n test = false;\n\n # This doesn\'t appear to be officially documented anywhere yet.\n # See https://github.com/rust-lang-nursery/rust-forge/issues/101.\n os = if stdenv.hostPlatform.isDarwin\n then \"macos\"\n else stdenv.hostPlatform.parsed.kernel.name;\n arch = stdenv.hostPlatform.parsed.cpu.name;\n family = \"unix\";\n env = \"gnu\";\n endian =\n if stdenv.hostPlatform.parsed.cpu.significantByte.name == \"littleEndian\"\n then \"little\" else \"big\";\n pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits;\n vendor = stdenv.hostPlatform.parsed.vendor.name;\n debug_assertions = false;\n };\n\n /* Filters common temp files and build files. */\n # TODO(pkolloch): Substitute with gitignore filter\n sourceFilter = name: type:\n let\n baseName = builtins.baseNameOf (builtins.toString name);\n in\n ! (\n # Filter out git\n baseName == \".gitignore\"\n || (type == \"directory\" && baseName == \".git\")\n\n # Filter out build results\n || (\n type == \"directory\" && (\n baseName == \"target\"\n || baseName == \"_site\"\n || baseName == \".sass-cache\"\n || baseName == \".jekyll-metadata\"\n || baseName == \"build-artifacts\"\n )\n )\n\n # Filter out nix-build result symlinks \n || (\n type == \"symlink\" && lib.hasPrefix \"result\" baseName\n )\n\n # Filter out IDE config\n || (\n type == \"directory\" && (\n baseName == \".idea\" || baseName == \".vscode\"\n )\n ) || lib.hasSuffix \".iml\" baseName\n\n # Filter out nix build files\n || baseName == \"Cargo.nix\"\n\n # Filter out editor backup / swap files.\n || lib.hasSuffix \"~\" baseName\n || builtins.match \"^\\\\.sw[a-z]$$\" baseName != null\n || builtins.match \"^\\\\..*\\\\.sw[a-z]$$\" baseName != null\n || lib.hasSuffix \".tmp\" baseName\n || lib.hasSuffix \".bak\" baseName\n || baseName == \"tests.nix\"\n );\n\n /* Returns a crate which depends on successful test execution\n of crate given as the second argument.\n\n testCrateFlags: list of flags to pass to the test exectuable\n testInputs: list of packages that should be available during test execution\n */\n crateWithTest = { crate, testCrate, testCrateFlags, testInputs }:\n assert builtins.typeOf testCrateFlags == \"list\";\n assert builtins.typeOf testInputs == \"list\";\n let\n # override the `crate` so that it will build and execute tests instead of\n # building the actual lib and bin targets We just have to pass `--test`\n # to rustc and it will do the right thing. We execute the tests and copy\n # their log and the test executables to $out for later inspection.\n test = let\n drv = testCrate.override (\n _: {\n buildTests = true;\n }\n );\n in\n pkgs.runCommand \"run-tests-${testCrate.name}\" {\n inherit testCrateFlags;\n buildInputs = testInputs;\n } \'\'\n set -ex\n cd ${crate.src}\n for file in ${drv}/tests/*; do\n $file $testCrateFlags 2>&1 | tee -a $out\n done\n \'\';\n in\n crate.overrideAttrs (\n old: {\n checkPhase = \'\'\n test -e ${test}\n \'\';\n passthru = (old.passthru or {}) // {\n inherit test;\n };\n }\n );\n\n /* A restricted overridable version of builtRustCratesWithFeatures. */\n buildRustCrateWithFeatures =\n { packageId\n , features ? rootFeatures\n , crateOverrides ? defaultCrateOverrides\n , buildRustCrateFunc ? (\n if crateOverrides == pkgs.defaultCrateOverrides\n then buildRustCrate\n else buildRustCrate.override {\n defaultCrateOverrides = crateOverrides;\n }\n )\n , runTests ? false\n , testCrateFlags ? []\n , testInputs ? []\n }:\n lib.makeOverridable\n (\n { features, crateOverrides, runTests, testCrateFlags, testInputs }:\n let\n builtRustCrates = builtRustCratesWithFeatures {\n inherit packageId features buildRustCrateFunc;\n runTests = false;\n };\n builtTestRustCrates = builtRustCratesWithFeatures {\n inherit packageId features buildRustCrateFunc;\n runTests = true;\n };\n drv = builtRustCrates.${packageId};\n testDrv = builtTestRustCrates.${packageId};\n in\n if runTests then\n crateWithTest {\n crate = drv;\n testCrate = testDrv;\n inherit testCrateFlags testInputs;\n }\n else drv\n )\n { inherit features crateOverrides runTests testCrateFlags testInputs; };\n\n /* Returns an attr set with packageId mapped to the result of buildRustCrateFunc \n for the corresponding crate. \n */\n builtRustCratesWithFeatures =\n { packageId\n , features\n , crateConfigs ? crates\n , buildRustCrateFunc\n , runTests\n , target ? defaultTarget\n } @ args:\n assert (builtins.isAttrs crateConfigs);\n assert (builtins.isString packageId);\n assert (builtins.isList features);\n assert (builtins.isAttrs target);\n assert (builtins.isBool runTests);\n let\n rootPackageId = packageId;\n mergedFeatures = mergePackageFeatures (\n args // {\n inherit rootPackageId;\n target = target // { test = runTests; };\n }\n );\n\n buildByPackageId = packageId: buildByPackageIdImpl packageId;\n\n # Memoize built packages so that reappearing packages are only built once.\n builtByPackageId =\n lib.mapAttrs (packageId: value: buildByPackageId packageId) crateConfigs;\n\n buildByPackageIdImpl = packageId:\n let\n features = mergedFeatures.\"${packageId}\" or [];\n crateConfig\' = crateConfigs.\"${packageId}\";\n crateConfig =\n builtins.removeAttrs crateConfig\' [ \"resolvedDefaultFeatures\" \"devDependencies\" ];\n devDependencies =\n lib.optionals\n (runTests && packageId == rootPackageId)\n (crateConfig\'.devDependencies or []);\n dependencies =\n dependencyDerivations {\n inherit builtByPackageId features target;\n dependencies =\n (crateConfig.dependencies or [])\n ++ devDependencies;\n };\n buildDependencies =\n dependencyDerivations {\n inherit builtByPackageId features target;\n dependencies = crateConfig.buildDependencies or [];\n };\n\n filterEnabledDependenciesForThis = dependencies: filterEnabledDependencies {\n inherit dependencies features target;\n };\n\n dependenciesWithRenames =\n lib.filter (d: d ? \"rename\") (\n filterEnabledDependenciesForThis\n (\n (crateConfig.buildDependencies or [])\n ++ (crateConfig.dependencies or [])\n ++ devDependencies\n )\n );\n\n crateRenames =\n builtins.listToAttrs\n (map (d: { name = d.name; value = d.rename; }) dependenciesWithRenames);\n in\n buildRustCrateFunc (\n crateConfig // {\n src = crateConfig.src or (\n pkgs.fetchurl {\n name = \"${crateConfig.crateName}-${crateConfig.version}.tar.gz\";\n url = \"https://crates.io/api/v1/crates/${crateConfig.crateName}/${crateConfig.version}/download\";\n sha256 = crateConfig.sha256;\n }\n );\n inherit features dependencies buildDependencies crateRenames release;\n }\n );\n in\n builtByPackageId;\n\n /* Returns the actual derivations for the given dependencies. */\n dependencyDerivations =\n { builtByPackageId\n , features\n , dependencies\n , target\n }:\n assert (builtins.isAttrs builtByPackageId);\n assert (builtins.isList features);\n assert (builtins.isList dependencies);\n assert (builtins.isAttrs target);\n let\n enabledDependencies = filterEnabledDependencies {\n inherit dependencies features target;\n };\n depDerivation = dependency: builtByPackageId.${dependency.packageId};\n in\n map depDerivation enabledDependencies;\n\n /* Returns a sanitized version of val with all values substituted that cannot\n be serialized as JSON. \n */\n sanitizeForJson = val:\n if builtins.isAttrs val\n then lib.mapAttrs (n: v: sanitizeForJson v) val\n else if builtins.isList val\n then builtins.map sanitizeForJson val\n else if builtins.isFunction val\n then \"function\"\n else val;\n\n /* Returns various tools to debug a crate. */\n debugCrate = { packageId, target ? defaultTarget }:\n assert (builtins.isString packageId);\n let\n debug = rec {\n # The built tree as passed to buildRustCrate.\n buildTree = buildRustCrateWithFeatures {\n buildRustCrateFunc = lib.id;\n inherit packageId;\n };\n sanitizedBuildTree = sanitizeForJson buildTree;\n dependencyTree = sanitizeForJson (\n buildRustCrateWithFeatures {\n buildRustCrateFunc = crate: {\n \"01_crateName\" = crate.crateName or false;\n \"02_features\" = crate.features or [];\n \"03_dependencies\" = crate.dependencies or [];\n };\n inherit packageId;\n }\n );\n mergedPackageFeatures = mergePackageFeatures {\n features = rootFeatures;\n inherit packageId target;\n };\n diffedDefaultPackageFeatures = diffDefaultPackageFeatures {\n inherit packageId target;\n };\n };\n in\n { internal = debug; };\n\n /* Returns differences between cargo default features and crate2nix default\n features.\n \n This is useful for verifying the feature resolution in crate2nix.\n */\n diffDefaultPackageFeatures =\n { crateConfigs ? crates\n , packageId\n , target\n }:\n assert (builtins.isAttrs crateConfigs);\n let\n prefixValues = prefix: lib.mapAttrs (n: v: { \"${prefix}\" = v; });\n mergedFeatures =\n prefixValues\n \"crate2nix\"\n (mergePackageFeatures { inherit crateConfigs packageId target; features = [ \"default\" ]; });\n configs = prefixValues \"cargo\" crateConfigs;\n combined = lib.foldAttrs (a: b: a // b) {} [ mergedFeatures configs ];\n onlyInCargo =\n builtins.attrNames\n (lib.filterAttrs (n: v: !(v ? \"crate2nix\") && (v ? \"cargo\")) combined);\n onlyInCrate2Nix =\n builtins.attrNames\n (lib.filterAttrs (n: v: (v ? \"crate2nix\") && !(v ? \"cargo\")) combined);\n differentFeatures = lib.filterAttrs\n (\n n: v:\n (v ? \"crate2nix\")\n && (v ? \"cargo\")\n && (v.crate2nix.features or []) != (v.\"cargo\".resolved_default_features or [])\n )\n combined;\n in\n builtins.toJSON {\n inherit onlyInCargo onlyInCrate2Nix differentFeatures;\n };\n\n /* Returns an attrset mapping packageId to the list of enabled features.\n\n If multiple paths to a dependency enable different features, the\n corresponding feature sets are merged. Features in rust are additive.\n */\n mergePackageFeatures =\n { crateConfigs ? crates\n , packageId\n , rootPackageId ? packageId\n , features ? rootFeatures\n , dependencyPath ? [ crates.${packageId}.crateName ]\n , featuresByPackageId ? {}\n , target\n # Adds devDependencies to the crate with rootPackageId.\n , runTests ? false\n , ...\n } @ args:\n assert (builtins.isAttrs crateConfigs);\n assert (builtins.isString packageId);\n assert (builtins.isString rootPackageId);\n assert (builtins.isList features);\n assert (builtins.isList dependencyPath);\n assert (builtins.isAttrs featuresByPackageId);\n assert (builtins.isAttrs target);\n assert (builtins.isBool runTests);\n let\n crateConfig = crateConfigs.\"${packageId}\" or (builtins.throw \"Package not found: ${packageId}\");\n expandedFeatures = expandFeatures (crateConfig.features or {}) features;\n\n depWithResolvedFeatures = dependency:\n let\n packageId = dependency.packageId;\n features = dependencyFeatures expandedFeatures dependency;\n in\n { inherit packageId features; };\n\n resolveDependencies = cache: path: dependencies:\n assert (builtins.isAttrs cache);\n assert (builtins.isList dependencies);\n let\n enabledDependencies = filterEnabledDependencies {\n inherit dependencies target;\n features = expandedFeatures;\n };\n directDependencies = map depWithResolvedFeatures enabledDependencies;\n foldOverCache = op: lib.foldl op cache directDependencies;\n in\n foldOverCache\n (\n cache: { packageId, features }:\n let\n cacheFeatures = cache.${packageId} or [];\n combinedFeatures = sortedUnique (cacheFeatures ++ features);\n in\n if cache ? ${packageId} && cache.${packageId} == combinedFeatures\n then cache\n else mergePackageFeatures {\n features = combinedFeatures;\n featuresByPackageId = cache;\n inherit crateConfigs packageId target runTests rootPackageId;\n }\n );\n\n cacheWithSelf =\n let\n cacheFeatures = featuresByPackageId.${packageId} or [];\n combinedFeatures = sortedUnique (cacheFeatures ++ expandedFeatures);\n in\n featuresByPackageId // {\n \"${packageId}\" = combinedFeatures;\n };\n\n cacheWithDependencies =\n resolveDependencies cacheWithSelf \"dep\" (\n crateConfig.dependencies or []\n ++ lib.optionals\n (runTests && packageId == rootPackageId)\n (crateConfig.devDependencies or [])\n );\n\n cacheWithAll =\n resolveDependencies\n cacheWithDependencies \"build\"\n (crateConfig.buildDependencies or []);\n in\n cacheWithAll;\n\n /* Returns the enabled dependencies given the enabled features. */\n filterEnabledDependencies = { dependencies, features, target }:\n assert (builtins.isList dependencies);\n assert (builtins.isList features);\n assert (builtins.isAttrs target);\n\n lib.filter\n (\n dep:\n let\n targetFunc = dep.target or (features: true);\n in\n targetFunc { inherit features target; }\n && (\n !(dep.optional or false)\n || builtins.any (doesFeatureEnableDependency dep) features\n )\n )\n dependencies;\n\n /* Returns whether the given feature should enable the given dependency. */\n doesFeatureEnableDependency = { name, rename ? null, ... }: feature:\n let\n prefix = \"${name}/\";\n len = builtins.stringLength prefix;\n startsWithPrefix = builtins.substring 0 len feature == prefix;\n in\n (rename == null && feature == name)\n || (rename != null && rename == feature)\n || startsWithPrefix;\n\n /* Returns the expanded features for the given inputFeatures by applying the\n rules in featureMap.\n\n featureMap is an attribute set which maps feature names to lists of further\n feature names to enable in case this feature is selected.\n */\n expandFeatures = featureMap: inputFeatures:\n assert (builtins.isAttrs featureMap);\n assert (builtins.isList inputFeatures);\n let\n expandFeature = feature:\n assert (builtins.isString feature);\n [ feature ] ++ (expandFeatures featureMap (featureMap.\"${feature}\" or []));\n outFeatures = builtins.concatMap expandFeature inputFeatures;\n in\n sortedUnique outFeatures;\n\n /*\n Returns the actual features for the given dependency.\n \n features: The features of the crate that refers this dependency.\n */\n dependencyFeatures = features: dependency:\n assert (builtins.isList features);\n assert (builtins.isAttrs dependency);\n let\n defaultOrNil = if dependency.usesDefaultFeatures or true\n then [ \"default\" ]\n else [];\n explicitFeatures = dependency.features or [];\n additionalDependencyFeatures =\n let\n dependencyPrefix = (dependency.rename or dependency.name) + \"/\";\n dependencyFeatures =\n builtins.filter (f: lib.hasPrefix dependencyPrefix f) features;\n in\n builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures;\n in\n defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;\n\n /* Sorts and removes duplicates from a list of strings. */\n sortedUnique = features:\n assert (builtins.isList features);\n assert (builtins.all builtins.isString features);\n let\n outFeaturesSet = lib.foldl (set: feature: set // { \"${feature}\" = 1; }) {} features;\n outFeaturesUnique = builtins.attrNames outFeaturesSet;\n in\n builtins.sort (a: b: a < b) outFeaturesUnique;\n\n deprecationWarning = message: value:\n if strictDeprecation\n then builtins.throw \"strictDeprecation enabled, aborting: ${message}\"\n else builtins.trace message value;\n\n #\n # crate2nix/default.nix (excerpt end)\n #\n\n };\n}\n"`, [INFO] [stdout] right: `"\n# This file was @generated by crate2nix 0.9.0-alpha.1 with the command:\n# \"generate\" \"-n\" \"../nix/nixpkgs.nix\" \"-f\" \"./crate2nix/Cargo.toml\" \"-o\" \"./crate2nix/Cargo.nix\"\n# See https://github.com/kolloch/crate2nix for more info.\n\n{ nixpkgs ? ../nix/nixpkgs.nix\n, pkgs ? import nixpkgs { config = {}; }\n, lib ? pkgs.lib\n, stdenv ? pkgs.stdenv\n, buildRustCrate ? pkgs.buildRustCrate\n # This is used as the `crateOverrides` argument for `buildRustCrate`.\n, defaultCrateOverrides ? pkgs.defaultCrateOverrides\n # The features to enable for the root_crate or the workspace_members.\n, rootFeatures ? [ \"default\" ]\n # If true, throw errors instead of issueing deprecation warnings.\n, strictDeprecation ? false\n # Whether to perform release builds: longer compile times, faster binaries.\n, release ? true\n}:\n\nrec {\n #\n # \"public\" attributes that we attempt to keep stable with new versions of crate2nix.\n #\n\n rootCrate = rec {\n packageId = \"crate2nix\";\n\n # Use this attribute to refer to the derivation building your root crate package.\n # You can override the features with rootCrate.build.override { features = [ \"default\" \"feature1\" ... ]; }.\n build = internal.buildRustCrateWithFeatures {\n inherit packageId;\n };\n\n # Debug support which might change between releases.\n # File a bug if you depend on any for non-debug work!\n debug = internal.debugCrate { inherit packageId; };\n };\n root_crate =\n internal.deprecationWarning \n \"root_crate is deprecated since crate2nix 0.4. Please use rootCrate instead.\" \n rootCrate.build;\n # Refer your crate build derivation by name here.\n # You can override the features with\n # workspaceMembers.\"${crateName}\".build.override { features = [ \"default\" \"feature1\" ... ]; }.\n workspaceMembers = {\n \"crate2nix\" = rec {\n packageId = \"crate2nix\";\n build = internal.buildRustCrateWithFeatures {\n packageId = \"crate2nix\";\n };\n\n # Debug support which might change between releases.\n # File a bug if you depend on any for non-debug work!\n debug = internal.debugCrate { inherit packageId; };\n };\n };\n workspace_members =\n internal.deprecationWarning\n \"workspace_members is deprecated in crate2nix 0.4. Please use workspaceMembers instead.\"\n lib.mapAttrs (n: v: v.build) workspaceMembers;\n\n #\n # \"internal\" (\"private\") attributes that may change in every new version of crate2nix.\n #\n\n internal = rec {\n # Build and dependency information for crates.\n # Many of the fields are passed one-to-one to buildRustCrate.\n #\n # Noteworthy:\n # * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate.\n # but with additional information which is used during dependency/feature resolution.\n # * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging.\n # * `devDependencies` as of now not used by `buildRustCrate` but used to\n # inject test dependencies into the build\n\n crates = {\n \"aho-corasick\" = rec {\n crateName = \"aho-corasick\";\n version = \"0.7.10\";\n edition = \"2015\";\n sha256 = \"1nka9509afjgal6lpymn8w2lq11dmjwxs8yjcmzys966if5l05l7\";\n libName = \"aho_corasick\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"memchr\";\n packageId = \"memchr\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"std\" = [ \"memchr/use_std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"ansi_term\" = rec {\n crateName = \"ansi_term\";\n version = \"0.11.0\";\n edition = \"2015\";\n sha256 = \"16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf\";\n authors = [\n \"ogham@bsago.me\"\n \"Ryan Scheel (Havvy) \"\n \"Josh Triplett \"\n ];\n dependencies = [\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: (target.\"os\" == \"windows\");\n features = [ \"errhandlingapi\" \"consoleapi\" \"processenv\" ];\n }\n ];\n \n };\n \"atty\" = rec {\n crateName = \"atty\";\n version = \"0.2.14\";\n edition = \"2015\";\n sha256 = \"1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr\";\n authors = [\n \"softprops \"\n ];\n dependencies = [\n {\n name = \"hermit-abi\";\n packageId = \"hermit-abi\";\n target = { target, features }: (target.\"os\" == \"hermit\");\n }\n {\n name = \"libc\";\n packageId = \"libc\";\n usesDefaultFeatures = false;\n target = { target, features }: target.\"unix\";\n }\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: target.\"windows\";\n features = [ \"consoleapi\" \"processenv\" \"minwinbase\" \"minwindef\" \"winbase\" ];\n }\n ];\n \n };\n \"autocfg\" = rec {\n crateName = \"autocfg\";\n version = \"1.0.0\";\n edition = \"2015\";\n sha256 = \"17cv6pwb4q08s0ynpr4n8hv5299hcmhdgvdchzixfpw8y5qcgapq\";\n authors = [\n \"Josh Stone \"\n ];\n \n };\n \"backtrace\" = rec {\n crateName = \"backtrace\";\n version = \"0.3.46\";\n edition = \"2018\";\n sha256 = \"17hh1vrhfd01qpjilrdpy7q0lf2j2qv36achpg37q92rff4r5rmi\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"backtrace-sys\";\n packageId = \"backtrace-sys\";\n optional = true;\n usesDefaultFeatures = false;\n }\n {\n name = \"cfg-if\";\n packageId = \"cfg-if\";\n }\n {\n name = \"libc\";\n packageId = \"libc\";\n usesDefaultFeatures = false;\n }\n {\n name = \"rustc-demangle\";\n packageId = \"rustc-demangle\";\n }\n ];\n features = {\n \"default\" = [ \"std\" \"libunwind\" \"libbacktrace\" \"dladdr\" \"dbghelp\" ];\n \"gimli-symbolize\" = [ \"addr2line\" \"findshlibs\" \"memmap\" \"goblin\" ];\n \"libbacktrace\" = [ \"backtrace-sys/backtrace-sys\" ];\n \"rustc-dep-of-std\" = [ \"backtrace-sys/rustc-dep-of-std\" \"cfg-if/rustc-dep-of-std\" \"core\" \"compiler_builtins\" \"libc/rustc-dep-of-std\" \"rustc-demangle/rustc-dep-of-std\" ];\n \"serialize-rustc\" = [ \"rustc-serialize\" ];\n \"serialize-serde\" = [ \"serde\" ];\n \"verify-winapi\" = [ \"winapi/dbghelp\" \"winapi/handleapi\" \"winapi/libloaderapi\" \"winapi/minwindef\" \"winapi/processthreadsapi\" \"winapi/synchapi\" \"winapi/winbase\" \"winapi/winnt\" ];\n };\n resolvedDefaultFeatures = [ \"backtrace-sys\" \"dbghelp\" \"default\" \"dladdr\" \"libbacktrace\" \"libunwind\" \"std\" ];\n };\n \"backtrace-sys\" = rec {\n crateName = \"backtrace-sys\";\n version = \"0.1.35\";\n edition = \"2015\";\n sha256 = \"066iviphi72mx9hd3njzsplk5v45jhi10mrccbbyij391ahsps3x\";\n authors = [\n \"Alex Crichton \"\n ];\n dependencies = [\n {\n name = \"libc\";\n packageId = \"libc\";\n usesDefaultFeatures = false;\n }\n ];\n buildDependencies = [\n {\n name = \"cc\";\n packageId = \"cc\";\n }\n ];\n features = {\n \"default\" = [ \"backtrace-sys\" ];\n \"rustc-dep-of-std\" = [ \"core\" \"compiler_builtins\" ];\n };\n resolvedDefaultFeatures = [ \"backtrace-sys\" ];\n };\n \"bitflags\" = rec {\n crateName = \"bitflags\";\n version = \"1.2.1\";\n edition = \"2015\";\n sha256 = \"14qnd5nq8p2almk79m4m8ydqhd413yaxsyjp5xd19g3mikzf47fg\";\n authors = [\n \"The Rust Project Developers\"\n ];\n features = {\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"block-buffer\" = rec {\n crateName = \"block-buffer\";\n version = \"0.7.3\";\n edition = \"2015\";\n sha256 = \"12v8wizynqin0hqf140kmp9s38q223mp1b0hkqk8j5pk8720v560\";\n authors = [\n \"RustCrypto Developers\"\n ];\n dependencies = [\n {\n name = \"block-padding\";\n packageId = \"block-padding\";\n }\n {\n name = \"byte-tools\";\n packageId = \"byte-tools\";\n }\n {\n name = \"byteorder\";\n packageId = \"byteorder\";\n usesDefaultFeatures = false;\n }\n {\n name = \"generic-array\";\n packageId = \"generic-array\";\n }\n ];\n \n };\n \"block-padding\" = rec {\n crateName = \"block-padding\";\n version = \"0.1.5\";\n edition = \"2015\";\n sha256 = \"1xbkmysiz23vimd17rnsjpw9bgjxipwfslwyygqlkx4in3dxwygs\";\n authors = [\n \"RustCrypto Developers\"\n ];\n dependencies = [\n {\n name = \"byte-tools\";\n packageId = \"byte-tools\";\n }\n ];\n \n };\n \"bstr\" = rec {\n crateName = \"bstr\";\n version = \"0.2.12\";\n edition = \"2015\";\n sha256 = \"0hazfback6i2k3vhhwyj8h46id3y58zxqh22pz46hj9r1zayd298\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"memchr\";\n packageId = \"memchr\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"std\" \"unicode\" ];\n \"serde1\" = [ \"std\" \"serde1-nostd\" \"serde/std\" ];\n \"serde1-nostd\" = [ \"serde\" ];\n \"std\" = [ \"memchr/use_std\" ];\n \"unicode\" = [ \"lazy_static\" \"regex-automata\" ];\n };\n resolvedDefaultFeatures = [ \"std\" ];\n };\n \"byte-tools\" = rec {\n crateName = \"byte-tools\";\n version = \"0.3.1\";\n edition = \"2015\";\n sha256 = \"1mqi29wsm8njpl51pfwr31wmpzs5ahlcb40wsjyd92l90ixcmdg3\";\n authors = [\n \"RustCrypto Developers\"\n ];\n \n };\n \"byteorder\" = rec {\n crateName = \"byteorder\";\n version = \"1.3.4\";\n edition = \"2015\";\n sha256 = \"1pkjfhgjnq898g1d38ygcfi0msg3m6756cwv0sgysj1d26p8mi08\";\n authors = [\n \"Andrew Gallant \"\n ];\n features = {\n \"default\" = [ \"std\" ];\n };\n };\n \"cargo_metadata\" = rec {\n crateName = \"cargo_metadata\";\n version = \"0.9.1\";\n edition = \"2015\";\n sha256 = \"00pjms89lghvizh4d55lz80hvrih9r55xv9m5wd9vcsgc163gqs6\";\n authors = [\n \"Oliver Schneider \"\n ];\n dependencies = [\n {\n name = \"semver\";\n packageId = \"semver\";\n features = [ \"serde\" ];\n }\n {\n name = \"serde\";\n packageId = \"serde\";\n }\n {\n name = \"serde_derive\";\n packageId = \"serde_derive\";\n }\n {\n name = \"serde_json\";\n packageId = \"serde_json\";\n }\n ];\n features = {\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"cc\" = rec {\n crateName = \"cc\";\n version = \"1.0.50\";\n edition = \"2018\";\n crateBin = [];\n sha256 = \"1kdqm8ka7xg9h56b694pcz29ka33fsz27mzrphqc78gx96h8zqlm\";\n authors = [\n \"Alex Crichton \"\n ];\n features = {\n \"parallel\" = [ \"jobserver\" ];\n };\n };\n \"cfg-if\" = rec {\n crateName = \"cfg-if\";\n version = \"0.1.10\";\n edition = \"2018\";\n sha256 = \"08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7\";\n authors = [\n \"Alex Crichton \"\n ];\n features = {\n \"rustc-dep-of-std\" = [ \"core\" \"compiler_builtins\" ];\n };\n };\n \"clap\" = rec {\n crateName = \"clap\";\n version = \"2.33.0\";\n edition = \"2015\";\n sha256 = \"1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh\";\n authors = [\n \"Kevin K. \"\n ];\n dependencies = [\n {\n name = \"ansi_term\";\n packageId = \"ansi_term\";\n optional = true;\n target = { target, features }: (!target.\"windows\");\n }\n {\n name = \"atty\";\n packageId = \"atty\";\n optional = true;\n }\n {\n name = \"bitflags\";\n packageId = \"bitflags\";\n }\n {\n name = \"strsim\";\n packageId = \"strsim\";\n optional = true;\n }\n {\n name = \"textwrap\";\n packageId = \"textwrap\";\n }\n {\n name = \"unicode-width\";\n packageId = \"unicode-width\";\n }\n {\n name = \"vec_map\";\n packageId = \"vec_map\";\n optional = true;\n }\n ];\n features = {\n \"color\" = [ \"ansi_term\" \"atty\" ];\n \"default\" = [ \"suggestions\" \"color\" \"vec_map\" ];\n \"doc\" = [ \"yaml\" ];\n \"lints\" = [ \"clippy\" ];\n \"suggestions\" = [ \"strsim\" ];\n \"wrap_help\" = [ \"term_size\" \"textwrap/term_size\" ];\n \"yaml\" = [ \"yaml-rust\" ];\n };\n resolvedDefaultFeatures = [ \"ansi_term\" \"atty\" \"color\" \"default\" \"strsim\" \"suggestions\" \"vec_map\" ];\n };\n \"clap-verbosity-flag\" = rec {\n crateName = \"clap-verbosity-flag\";\n version = \"0.2.0\";\n edition = \"2015\";\n sha256 = \"1p3nsjdf758nl5bjjz5wi107i43pmywbgi8857slgdxj4d9lz8dx\";\n authors = [\n \"Pascal Hertleif \"\n ];\n dependencies = [\n {\n name = \"env_logger\";\n packageId = \"env_logger\";\n }\n {\n name = \"failure\";\n packageId = \"failure\";\n }\n {\n name = \"log\";\n packageId = \"log\";\n }\n {\n name = \"structopt\";\n packageId = \"structopt 0.2.18\";\n }\n ];\n \n };\n \"colored-diff\" = rec {\n crateName = \"colored-diff\";\n version = \"0.2.2\";\n edition = \"2015\";\n sha256 = \"1zbfjkp7w1wjcxb1p19dd21mn9xkj6nr2s5pav8b16whzh52cvsi\";\n authors = [\n \"Christopher Durham \"\n ];\n dependencies = [\n {\n name = \"ansi_term\";\n packageId = \"ansi_term\";\n }\n {\n name = \"difference\";\n packageId = \"difference\";\n }\n {\n name = \"itertools\";\n packageId = \"itertools 0.7.11\";\n usesDefaultFeatures = false;\n }\n ];\n \n };\n \"crate2nix\" = rec {\n crateName = \"crate2nix\";\n version = \"0.9.0-alpha.1\";\n edition = \"2018\";\n crateBin = [\n { name = \"crate2nix\"; path = \"src/main.rs\"; }\n ];\n src = (builtins.filterSource sourceFilter ./.);\n authors = [\n \"Peter Kolloch \"\n ];\n dependencies = [\n {\n name = \"cargo_metadata\";\n packageId = \"cargo_metadata\";\n }\n {\n name = \"failure\";\n packageId = \"failure\";\n }\n {\n name = \"hex\";\n packageId = \"hex\";\n }\n {\n name = \"itertools\";\n packageId = \"itertools 0.8.2\";\n }\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n }\n {\n name = \"nix-base32\";\n packageId = \"nix-base32\";\n }\n {\n name = \"pathdiff\";\n packageId = \"pathdiff\";\n }\n {\n name = \"quicli\";\n packageId = \"quicli\";\n usesDefaultFeatures = false;\n }\n {\n name = \"semver\";\n packageId = \"semver\";\n }\n {\n name = \"serde\";\n packageId = \"serde\";\n features = [ \"derive\" ];\n }\n {\n name = \"serde_json\";\n packageId = \"serde_json\";\n }\n {\n name = \"structopt\";\n packageId = \"structopt 0.3.12\";\n }\n {\n name = \"tera\";\n packageId = \"tera\";\n usesDefaultFeatures = false;\n }\n {\n name = \"toml\";\n packageId = \"toml\";\n }\n {\n name = \"url\";\n packageId = \"url\";\n }\n {\n name = \"url_serde\";\n packageId = \"url_serde\";\n }\n ];\n devDependencies = [\n {\n name = \"colored-diff\";\n packageId = \"colored-diff\";\n }\n {\n name = \"fs_extra\";\n packageId = \"fs_extra\";\n }\n {\n name = \"tempdir\";\n packageId = \"tempdir\";\n }\n ];\n \n };\n \"crossbeam-channel\" = rec {\n crateName = \"crossbeam-channel\";\n version = \"0.4.2\";\n edition = \"2015\";\n sha256 = \"0qd05n5bcwafkmbzq1lspwrfi29xnzlw46qarg1sl0lwj68qdvfc\";\n authors = [\n \"The Crossbeam Project Developers\"\n ];\n dependencies = [\n {\n name = \"crossbeam-utils\";\n packageId = \"crossbeam-utils\";\n }\n {\n name = \"maybe-uninit\";\n packageId = \"maybe-uninit\";\n }\n ];\n \n };\n \"crossbeam-utils\" = rec {\n crateName = \"crossbeam-utils\";\n version = \"0.7.2\";\n edition = \"2015\";\n sha256 = \"1a31wbrda1320gj2a6az1lin2d34xfc3xf88da4c17qy5lxcgiy3\";\n authors = [\n \"The Crossbeam Project Developers\"\n ];\n dependencies = [\n {\n name = \"cfg-if\";\n packageId = \"cfg-if\";\n }\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n optional = true;\n }\n ];\n buildDependencies = [\n {\n name = \"autocfg\";\n packageId = \"autocfg\";\n }\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"std\" = [ \"lazy_static\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"lazy_static\" \"std\" ];\n };\n \"difference\" = rec {\n crateName = \"difference\";\n version = \"2.0.0\";\n edition = \"2015\";\n crateBin = [];\n sha256 = \"1621wx4k8h452p6xzmzzvm7mz87kxh4yqz0kzxfjj9xmjxlbyk2j\";\n authors = [\n \"Johann Hofmann \"\n ];\n features = {\n \"bin\" = [ \"getopts\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"digest\" = rec {\n crateName = \"digest\";\n version = \"0.8.1\";\n edition = \"2015\";\n sha256 = \"1madjl27f3kj5ql7kwgvb9c8b7yb7bv7yfgx7rqzj4i3fp4cil7k\";\n authors = [\n \"RustCrypto Developers\"\n ];\n dependencies = [\n {\n name = \"generic-array\";\n packageId = \"generic-array\";\n }\n ];\n features = {\n \"dev\" = [ \"blobby\" ];\n };\n };\n \"either\" = rec {\n crateName = \"either\";\n version = \"1.5.3\";\n edition = \"2015\";\n sha256 = \"1qyz1b1acad6w0k5928jw5zaq900zhsk7p8dlcp4hh61w4f6n7xv\";\n authors = [\n \"bluss\"\n ];\n features = {\n \"default\" = [ \"use_std\" ];\n };\n };\n \"env_logger\" = rec {\n crateName = \"env_logger\";\n version = \"0.5.13\";\n edition = \"2015\";\n sha256 = \"0f0c4i4c65jh8lci0afl5yg74ac0lbnpxcp81chj114zwg9a9c0m\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"atty\";\n packageId = \"atty\";\n }\n {\n name = \"humantime\";\n packageId = \"humantime\";\n }\n {\n name = \"log\";\n packageId = \"log\";\n features = [ \"std\" ];\n }\n {\n name = \"regex\";\n packageId = \"regex\";\n optional = true;\n }\n {\n name = \"termcolor\";\n packageId = \"termcolor\";\n }\n ];\n features = {\n \"default\" = [ \"regex\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"regex\" ];\n };\n \"exitfailure\" = rec {\n crateName = \"exitfailure\";\n version = \"0.5.1\";\n edition = \"2015\";\n sha256 = \"0585wix3b3pjjj90fkqj9x4ar46d24x82k8rdin3czzk5a1vvx9g\";\n authors = [\n \"Toby Smith \"\n ];\n dependencies = [\n {\n name = \"failure\";\n packageId = \"failure\";\n }\n ];\n \n };\n \"failure\" = rec {\n crateName = \"failure\";\n version = \"0.1.7\";\n edition = \"2015\";\n sha256 = \"0js6i6mb42q1g6q3csfbmi6q40s64k96705xbim0d8zg44j9qlmq\";\n authors = [\n \"Without Boats \"\n ];\n dependencies = [\n {\n name = \"backtrace\";\n packageId = \"backtrace\";\n optional = true;\n }\n {\n name = \"failure_derive\";\n packageId = \"failure_derive\";\n optional = true;\n }\n ];\n features = {\n \"default\" = [ \"std\" \"derive\" ];\n \"derive\" = [ \"failure_derive\" ];\n \"std\" = [ \"backtrace\" ];\n };\n resolvedDefaultFeatures = [ \"backtrace\" \"default\" \"derive\" \"failure_derive\" \"std\" ];\n };\n \"failure_derive\" = rec {\n crateName = \"failure_derive\";\n version = \"0.1.7\";\n edition = \"2015\";\n sha256 = \"0cfjz0c9szqpxn43b2r722p6m3swzxj7aj6xhqw23ml7h8y762h3\";\n procMacro = true;\n authors = [\n \"Without Boats \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n }\n {\n name = \"synstructure\";\n packageId = \"synstructure\";\n }\n ];\n features = {\n };\n };\n \"fake-simd\" = rec {\n crateName = \"fake-simd\";\n version = \"0.1.2\";\n edition = \"2015\";\n sha256 = \"1vfylvk4va2ivqx85603lyqqp0zk52cgbs4n5nfbbbqx577qm2p8\";\n authors = [\n \"The Rust-Crypto Project Developers\"\n ];\n \n };\n \"fnv\" = rec {\n crateName = \"fnv\";\n version = \"1.0.6\";\n edition = \"2015\";\n sha256 = \"1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g\";\n libPath = \"lib.rs\";\n authors = [\n \"Alex Crichton \"\n ];\n \n };\n \"fs_extra\" = rec {\n crateName = \"fs_extra\";\n version = \"1.1.0\";\n edition = \"2015\";\n sha256 = \"0x6675wdhsx277k1k1235jwcv38naf20d8kwrk948ds26hh4lajz\";\n authors = [\n \"Denis Kurilenko \"\n ];\n \n };\n \"fuchsia-cprng\" = rec {\n crateName = \"fuchsia-cprng\";\n version = \"0.1.1\";\n edition = \"2018\";\n sha256 = \"1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0\";\n authors = [\n \"Erick Tryzelaar \"\n ];\n \n };\n \"generic-array\" = rec {\n crateName = \"generic-array\";\n version = \"0.12.3\";\n edition = \"2015\";\n sha256 = \"1v5jg7djicq34nbiv1dwaki71gkny002wyy9qfn3y0hfmrs053y6\";\n libName = \"generic_array\";\n authors = [\n \"Bartłomiej Kamiński \"\n \"Aaron Trent \"\n ];\n dependencies = [\n {\n name = \"typenum\";\n packageId = \"typenum\";\n }\n ];\n \n };\n \"globset\" = rec {\n crateName = \"globset\";\n version = \"0.4.5\";\n edition = \"2015\";\n sha256 = \"0841ihdg1ps2618cs0kjbr3pn3rzrj24rx3n4pg1sa6p1d1xmlbs\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"aho-corasick\";\n packageId = \"aho-corasick\";\n }\n {\n name = \"bstr\";\n packageId = \"bstr\";\n usesDefaultFeatures = false;\n features = [ \"std\" ];\n }\n {\n name = \"fnv\";\n packageId = \"fnv\";\n }\n {\n name = \"log\";\n packageId = \"log\";\n }\n {\n name = \"regex\";\n packageId = \"regex\";\n }\n ];\n features = {\n \"serde1\" = [ \"serde\" ];\n };\n };\n \"globwalk\" = rec {\n crateName = \"globwalk\";\n version = \"0.7.3\";\n edition = \"2015\";\n sha256 = \"17f9czz46ww5f2qk9349jax7wc38bdmp46cv469plsc6qnp1gnyr\";\n authors = [\n \"Gilad Naaman \"\n ];\n dependencies = [\n {\n name = \"ignore\";\n packageId = \"ignore\";\n }\n {\n name = \"walkdir\";\n packageId = \"walkdir\";\n }\n ];\n \n };\n \"heck\" = rec {\n crateName = \"heck\";\n version = \"0.3.1\";\n edition = \"2015\";\n sha256 = \"01a2v7yvkiqxakdqz4hw3w3g4sm52ivz9cs3qcsv2arxsmw4wmi0\";\n authors = [\n \"Without Boats \"\n ];\n dependencies = [\n {\n name = \"unicode-segmentation\";\n packageId = \"unicode-segmentation\";\n }\n ];\n \n };\n \"hermit-abi\" = rec {\n crateName = \"hermit-abi\";\n version = \"0.1.8\";\n edition = \"2015\";\n sha256 = \"1n7g3bkd0hh9gnnmdzdzrrywqqb0hq8ypaxfkxg87zmv4qdmj40h\";\n authors = [\n \"Stefan Lankes\"\n ];\n dependencies = [\n {\n name = \"libc\";\n packageId = \"libc\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"rustc-dep-of-std\" = [ \"core\" \"compiler_builtins/rustc-dep-of-std\" \"libc/rustc-dep-of-std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"hex\" = rec {\n crateName = \"hex\";\n version = \"0.4.2\";\n edition = \"2018\";\n sha256 = \"0dbf00j3h3pz0lw8jp245rwypna6i23l4cpvym8gsczin9c92kv4\";\n authors = [\n \"KokaKiwi \"\n ];\n features = {\n \"default\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"humantime\" = rec {\n crateName = \"humantime\";\n version = \"1.3.0\";\n edition = \"2015\";\n sha256 = \"0krwgbf35pd46xvkqg14j070vircsndabahahlv3rwhflpy4q06z\";\n authors = [\n \"Paul Colomiets \"\n ];\n dependencies = [\n {\n name = \"quick-error\";\n packageId = \"quick-error\";\n }\n ];\n \n };\n \"idna\" = rec {\n crateName = \"idna\";\n version = \"0.1.5\";\n edition = \"2015\";\n sha256 = \"0kl4gs5kaydn4v07c6ka33spm9qdh2np0x7iw7g5zd8z1c7rxw1q\";\n authors = [\n \"The rust-url developers\"\n ];\n dependencies = [\n {\n name = \"matches\";\n packageId = \"matches\";\n }\n {\n name = \"unicode-bidi\";\n packageId = \"unicode-bidi\";\n }\n {\n name = \"unicode-normalization\";\n packageId = \"unicode-normalization\";\n }\n ];\n \n };\n \"ignore\" = rec {\n crateName = \"ignore\";\n version = \"0.4.13\";\n edition = \"2015\";\n sha256 = \"1fmbrhjv51xrimkm34il2cqhvmf4r4zvwgadrcbsszx6nzyz34nn\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"crossbeam-channel\";\n packageId = \"crossbeam-channel\";\n }\n {\n name = \"crossbeam-utils\";\n packageId = \"crossbeam-utils\";\n }\n {\n name = \"globset\";\n packageId = \"globset\";\n }\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n }\n {\n name = \"log\";\n packageId = \"log\";\n }\n {\n name = \"memchr\";\n packageId = \"memchr\";\n }\n {\n name = \"regex\";\n packageId = \"regex\";\n }\n {\n name = \"same-file\";\n packageId = \"same-file\";\n }\n {\n name = \"thread_local\";\n packageId = \"thread_local\";\n }\n {\n name = \"walkdir\";\n packageId = \"walkdir\";\n }\n {\n name = \"winapi-util\";\n packageId = \"winapi-util\";\n target = { target, features }: target.\"windows\";\n }\n ];\n features = {\n \"simd-accel\" = [ \"globset/simd-accel\" ];\n };\n };\n \"itertools 0.7.11\" = rec {\n crateName = \"itertools\";\n version = \"0.7.11\";\n edition = \"2015\";\n sha256 = \"03cpsj26xmyamcalclqzr1i700vwx8hnbgxbpjvs354f8mnr8iqd\";\n authors = [\n \"bluss\"\n ];\n dependencies = [\n {\n name = \"either\";\n packageId = \"either\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"use_std\" ];\n };\n };\n \"itertools 0.8.2\" = rec {\n crateName = \"itertools\";\n version = \"0.8.2\";\n edition = \"2015\";\n sha256 = \"1154j48aw913v5jnyhpxialxhdn2sfpl4d7bwididyb1r05jsspm\";\n authors = [\n \"bluss\"\n ];\n dependencies = [\n {\n name = \"either\";\n packageId = \"either\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"use_std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"use_std\" ];\n };\n \"itoa\" = rec {\n crateName = \"itoa\";\n version = \"0.4.5\";\n edition = \"2015\";\n sha256 = \"13nxqrfnh83a7x5rw4wq2ilp8nxvwy74dxzysdg59dbxqk0agdxq\";\n authors = [\n \"David Tolnay \"\n ];\n features = {\n \"default\" = [ \"std\" ];\n };\n };\n \"lazy_static\" = rec {\n crateName = \"lazy_static\";\n version = \"1.4.0\";\n edition = \"2015\";\n sha256 = \"0in6ikhw8mgl33wjv6q6xfrb5b9jr16q8ygjy803fay4zcisvaz2\";\n authors = [\n \"Marvin Löbel \"\n ];\n features = {\n \"spin_no_std\" = [ \"spin\" ];\n };\n };\n \"libc\" = rec {\n crateName = \"libc\";\n version = \"0.2.68\";\n edition = \"2015\";\n sha256 = \"1w6z9krcqn7p200sb80dxx76iyvw3jdz949zxr1sgfr3a50c186y\";\n authors = [\n \"The Rust Project Developers\"\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"rustc-dep-of-std\" = [ \"align\" \"rustc-std-workspace-core\" ];\n \"use_std\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"log\" = rec {\n crateName = \"log\";\n version = \"0.4.8\";\n edition = \"2015\";\n sha256 = \"1xz18ixccl5c6np4linv3ypc7hpmmgpc5zzd2ymp2ssfx0mhbdhl\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"cfg-if\";\n packageId = \"cfg-if\";\n }\n ];\n features = {\n \"kv_unstable_sval\" = [ \"kv_unstable\" \"sval/fmt\" ];\n };\n resolvedDefaultFeatures = [ \"std\" ];\n };\n \"maplit\" = rec {\n crateName = \"maplit\";\n version = \"1.0.2\";\n edition = \"2015\";\n sha256 = \"07b5kjnhrrmfhgqm9wprjw8adx6i225lqp49gasgqg74lahnabiy\";\n authors = [\n \"bluss\"\n ];\n \n };\n \"matches\" = rec {\n crateName = \"matches\";\n version = \"0.1.8\";\n edition = \"2015\";\n sha256 = \"020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z\";\n libPath = \"lib.rs\";\n authors = [\n \"Simon Sapin \"\n ];\n \n };\n \"maybe-uninit\" = rec {\n crateName = \"maybe-uninit\";\n version = \"2.0.0\";\n edition = \"2015\";\n sha256 = \"004y0nzmpfdrhz251278341z6ql34iv1k6dp1h6af7d6nd6jwc30\";\n authors = [\n \"est31 \"\n \"The Rust Project Developers\"\n ];\n \n };\n \"memchr\" = rec {\n crateName = \"memchr\";\n version = \"2.3.3\";\n edition = \"2015\";\n sha256 = \"0074pvsfl938ndl5js14ibc7i9q0k3zp390z843w8nlyv4bxha1p\";\n authors = [\n \"Andrew Gallant \"\n \"bluss\"\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"use_std\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" \"use_std\" ];\n };\n \"nix-base32\" = rec {\n crateName = \"nix-base32\";\n version = \"0.1.1\";\n edition = \"2018\";\n sha256 = \"04jnq6arig0amz0scadavbzn9bg9k4zphmrm1562n6ygfj1dnj45\";\n authors = [\n \"Peter Kolloch \"\n ];\n \n };\n \"opaque-debug\" = rec {\n crateName = \"opaque-debug\";\n version = \"0.2.3\";\n edition = \"2015\";\n sha256 = \"172j6bs8ndclqxa2m64qc0y1772rr73g4l9fg2svscgicnbfff98\";\n authors = [\n \"RustCrypto Developers\"\n ];\n \n };\n \"pathdiff\" = rec {\n crateName = \"pathdiff\";\n version = \"0.1.0\";\n edition = \"2015\";\n sha256 = \"0cfg3isnx6mf3wbi7rsg4nmvywby40sbcs589n20fgi09l4p1gx3\";\n authors = [\n \"Manish Goregaokar \"\n ];\n \n };\n \"percent-encoding\" = rec {\n crateName = \"percent-encoding\";\n version = \"1.0.1\";\n edition = \"2015\";\n sha256 = \"0cgq08v1fvr6bs5fvy390cz830lq4fak8havdasdacxcw790s09i\";\n libPath = \"lib.rs\";\n authors = [\n \"The rust-url developers\"\n ];\n \n };\n \"pest\" = rec {\n crateName = \"pest\";\n version = \"2.1.3\";\n edition = \"2015\";\n sha256 = \"0lry80bm90x47nq71wxq83kjrm9ashpz4kbm92p90ysdx4m8gx0h\";\n authors = [\n \"Dragoș Tiselice \"\n ];\n dependencies = [\n {\n name = \"ucd-trie\";\n packageId = \"ucd-trie\";\n }\n ];\n features = {\n \"pretty-print\" = [ \"serde\" \"serde_json\" ];\n };\n };\n \"pest_derive\" = rec {\n crateName = \"pest_derive\";\n version = \"2.1.0\";\n edition = \"2015\";\n sha256 = \"1l5jfa6ril71cw5nsiw0r45br54dd8cj2r1nc2d1wq6wb3jilgc3\";\n procMacro = true;\n authors = [\n \"Dragoș Tiselice \"\n ];\n dependencies = [\n {\n name = \"pest\";\n packageId = \"pest\";\n }\n {\n name = \"pest_generator\";\n packageId = \"pest_generator\";\n }\n ];\n \n };\n \"pest_generator\" = rec {\n crateName = \"pest_generator\";\n version = \"2.1.3\";\n edition = \"2015\";\n sha256 = \"0mfgl0p6v91ywdqr9i8w053v70cnfqjk8y5rhwbvir9idridpf4r\";\n authors = [\n \"Dragoș Tiselice \"\n ];\n dependencies = [\n {\n name = \"pest\";\n packageId = \"pest\";\n }\n {\n name = \"pest_meta\";\n packageId = \"pest_meta\";\n }\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n }\n ];\n \n };\n \"pest_meta\" = rec {\n crateName = \"pest_meta\";\n version = \"2.1.3\";\n edition = \"2015\";\n sha256 = \"07d1jbbbpxpchk0j37ljas46sdyyg599z3zw2ac0f5sk9x06xgjl\";\n authors = [\n \"Dragoș Tiselice \"\n ];\n dependencies = [\n {\n name = \"maplit\";\n packageId = \"maplit\";\n }\n {\n name = \"pest\";\n packageId = \"pest\";\n }\n ];\n buildDependencies = [\n {\n name = \"sha-1\";\n packageId = \"sha-1\";\n usesDefaultFeatures = false;\n }\n ];\n \n };\n \"proc-macro-error\" = rec {\n crateName = \"proc-macro-error\";\n version = \"0.4.12\";\n edition = \"2018\";\n sha256 = \"1rvpaadwv7vmsp142qqh2axqrr9v78f1nvdsi9nhmfhy10kk1wqq\";\n authors = [\n \"CreepySkeleton \"\n ];\n dependencies = [\n {\n name = \"proc-macro-error-attr\";\n packageId = \"proc-macro-error-attr\";\n }\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n usesDefaultFeatures = false;\n features = [ \"derive\" \"parsing\" \"proc-macro\" \"printing\" ];\n }\n ];\n buildDependencies = [\n {\n name = \"version_check\";\n packageId = \"version_check\";\n }\n ];\n \n };\n \"proc-macro-error-attr\" = rec {\n crateName = \"proc-macro-error-attr\";\n version = \"0.4.12\";\n edition = \"2018\";\n sha256 = \"1pk9mwcfnpf8favgc2cl4sqlmi818p96hg8pfb51wg5nzmvlnnwa\";\n procMacro = true;\n authors = [\n \"CreepySkeleton \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n usesDefaultFeatures = false;\n features = [ \"derive\" \"parsing\" \"proc-macro\" \"printing\" ];\n }\n {\n name = \"syn-mid\";\n packageId = \"syn-mid\";\n }\n ];\n buildDependencies = [\n {\n name = \"version_check\";\n packageId = \"version_check\";\n }\n ];\n \n };\n \"proc-macro2 0.4.30\" = rec {\n crateName = \"proc-macro2\";\n version = \"0.4.30\";\n edition = \"2015\";\n sha256 = \"0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg\";\n authors = [\n \"Alex Crichton \"\n ];\n dependencies = [\n {\n name = \"unicode-xid\";\n packageId = \"unicode-xid 0.1.0\";\n }\n ];\n features = {\n \"default\" = [ \"proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"proc-macro\" ];\n };\n \"proc-macro2 1.0.9\" = rec {\n crateName = \"proc-macro2\";\n version = \"1.0.9\";\n edition = \"2018\";\n sha256 = \"0d9lr9h0rpa4gi78ha37zqbmkdhrpyjvb5ia94m3ljc1cwf742bc\";\n authors = [\n \"Alex Crichton \"\n ];\n dependencies = [\n {\n name = \"unicode-xid\";\n packageId = \"unicode-xid 0.2.0\";\n }\n ];\n features = {\n \"default\" = [ \"proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"proc-macro\" ];\n };\n \"quick-error\" = rec {\n crateName = \"quick-error\";\n version = \"1.2.3\";\n edition = \"2015\";\n sha256 = \"1q6za3v78hsspisc197bg3g7rpc989qycy8ypr8ap8igv10ikl51\";\n authors = [\n \"Paul Colomiets \"\n \"Colin Kiegel \"\n ];\n \n };\n \"quicli\" = rec {\n crateName = \"quicli\";\n version = \"0.4.0\";\n edition = \"2018\";\n sha256 = \"0v3gv1dcn437aa9rhibs0k9xgsj2jqzarvca76q3qpjsiplkk1cy\";\n authors = [\n \"Pascal Hertleif \"\n ];\n dependencies = [\n {\n name = \"clap-verbosity-flag\";\n packageId = \"clap-verbosity-flag\";\n }\n {\n name = \"exitfailure\";\n packageId = \"exitfailure\";\n }\n {\n name = \"failure\";\n packageId = \"failure\";\n }\n {\n name = \"failure_derive\";\n packageId = \"failure_derive\";\n }\n {\n name = \"log\";\n packageId = \"log\";\n }\n ];\n features = {\n \"default\" = [ \"full-throttle\" ];\n \"full-throttle\" = [ \"serde\" \"serde_derive\" \"globwalk\" \"rayon\" \"remove_dir_all\" ];\n };\n };\n \"quote 0.6.13\" = rec {\n crateName = \"quote\";\n version = \"0.6.13\";\n edition = \"2015\";\n sha256 = \"1qgqq48jymp5h4y082aanf25hrw6bpb678xh3zw993qfhxmkpqkc\";\n authors = [\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 0.4.30\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"proc-macro\" ];\n \"proc-macro\" = [ \"proc-macro2/proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"proc-macro\" ];\n };\n \"quote 1.0.3\" = rec {\n crateName = \"quote\";\n version = \"1.0.3\";\n edition = \"2018\";\n sha256 = \"0zwd6fp74xfg4jnnnwj4v84lkzif2giwj4ch1hka9g35ghc6rp1b\";\n authors = [\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"proc-macro\" ];\n \"proc-macro\" = [ \"proc-macro2/proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"proc-macro\" ];\n };\n \"rand\" = rec {\n crateName = \"rand\";\n version = \"0.4.6\";\n edition = \"2015\";\n sha256 = \"14qjfv3gggzhnma20k0sc1jf8y6pplsaq7n1j9ls5c8kf2wl0a2m\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"fuchsia-cprng\";\n packageId = \"fuchsia-cprng\";\n target = { target, features }: (target.\"os\" == \"fuchsia\");\n }\n {\n name = \"libc\";\n packageId = \"libc\";\n optional = true;\n target = { target, features }: target.\"unix\";\n }\n {\n name = \"rand_core\";\n packageId = \"rand_core 0.3.1\";\n usesDefaultFeatures = false;\n target = { target, features }: (target.\"env\" == \"sgx\");\n }\n {\n name = \"rdrand\";\n packageId = \"rdrand\";\n target = { target, features }: (target.\"env\" == \"sgx\");\n }\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: target.\"windows\";\n features = [ \"minwindef\" \"ntsecapi\" \"profileapi\" \"winnt\" ];\n }\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"nightly\" = [ \"i128_support\" ];\n \"std\" = [ \"libc\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"libc\" \"std\" ];\n };\n \"rand_core 0.3.1\" = rec {\n crateName = \"rand_core\";\n version = \"0.3.1\";\n edition = \"2015\";\n sha256 = \"0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs\";\n authors = [\n \"The Rand Project Developers\"\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"rand_core\";\n packageId = \"rand_core 0.4.2\";\n }\n ];\n features = {\n \"alloc\" = [ \"rand_core/alloc\" ];\n \"default\" = [ \"std\" ];\n \"serde1\" = [ \"rand_core/serde1\" ];\n \"std\" = [ \"rand_core/std\" ];\n };\n };\n \"rand_core 0.4.2\" = rec {\n crateName = \"rand_core\";\n version = \"0.4.2\";\n edition = \"2015\";\n sha256 = \"1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww\";\n authors = [\n \"The Rand Project Developers\"\n \"The Rust Project Developers\"\n ];\n features = {\n \"serde1\" = [ \"serde\" \"serde_derive\" ];\n \"std\" = [ \"alloc\" ];\n };\n };\n \"rdrand\" = rec {\n crateName = \"rdrand\";\n version = \"0.4.0\";\n edition = \"2015\";\n sha256 = \"1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037\";\n authors = [\n \"Simonas Kazlauskas \"\n ];\n dependencies = [\n {\n name = \"rand_core\";\n packageId = \"rand_core 0.3.1\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"default\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"regex\" = rec {\n crateName = \"regex\";\n version = \"1.3.6\";\n edition = \"2015\";\n sha256 = \"1cx4lcgy7vdi2kij2n1dp2whl33d7974g1kxwiklhs192nclcsbz\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"aho-corasick\";\n packageId = \"aho-corasick\";\n optional = true;\n }\n {\n name = \"memchr\";\n packageId = \"memchr\";\n optional = true;\n }\n {\n name = \"regex-syntax\";\n packageId = \"regex-syntax\";\n usesDefaultFeatures = false;\n }\n {\n name = \"thread_local\";\n packageId = \"thread_local\";\n optional = true;\n }\n ];\n features = {\n \"default\" = [ \"std\" \"perf\" \"unicode\" ];\n \"perf\" = [ \"perf-cache\" \"perf-dfa\" \"perf-inline\" \"perf-literal\" ];\n \"perf-cache\" = [ \"thread_local\" ];\n \"perf-literal\" = [ \"aho-corasick\" \"memchr\" ];\n \"unicode\" = [ \"unicode-age\" \"unicode-bool\" \"unicode-case\" \"unicode-gencat\" \"unicode-perl\" \"unicode-script\" \"unicode-segment\" ];\n \"unicode-age\" = [ \"regex-syntax/unicode-age\" ];\n \"unicode-bool\" = [ \"regex-syntax/unicode-bool\" ];\n \"unicode-case\" = [ \"regex-syntax/unicode-case\" ];\n \"unicode-gencat\" = [ \"regex-syntax/unicode-gencat\" ];\n \"unicode-perl\" = [ \"regex-syntax/unicode-perl\" ];\n \"unicode-script\" = [ \"regex-syntax/unicode-script\" ];\n \"unicode-segment\" = [ \"regex-syntax/unicode-segment\" ];\n \"unstable\" = [ \"pattern\" ];\n \"use_std\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"aho-corasick\" \"default\" \"memchr\" \"perf\" \"perf-cache\" \"perf-dfa\" \"perf-inline\" \"perf-literal\" \"std\" \"thread_local\" \"unicode\" \"unicode-age\" \"unicode-bool\" \"unicode-case\" \"unicode-gencat\" \"unicode-perl\" \"unicode-script\" \"unicode-segment\" ];\n };\n \"regex-syntax\" = rec {\n crateName = \"regex-syntax\";\n version = \"0.6.17\";\n edition = \"2015\";\n sha256 = \"1blmlgzcg7in3kcxqabpfzzrbnamr2i671flbrmlqhfps5bvvrbz\";\n authors = [\n \"The Rust Project Developers\"\n ];\n features = {\n \"default\" = [ \"unicode\" ];\n \"unicode\" = [ \"unicode-age\" \"unicode-bool\" \"unicode-case\" \"unicode-gencat\" \"unicode-perl\" \"unicode-script\" \"unicode-segment\" ];\n };\n resolvedDefaultFeatures = [ \"unicode-age\" \"unicode-bool\" \"unicode-case\" \"unicode-gencat\" \"unicode-perl\" \"unicode-script\" \"unicode-segment\" ];\n };\n \"remove_dir_all\" = rec {\n crateName = \"remove_dir_all\";\n version = \"0.5.2\";\n edition = \"2015\";\n sha256 = \"0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa\";\n authors = [\n \"Aaronepower \"\n ];\n dependencies = [\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: target.\"windows\";\n features = [ \"std\" \"errhandlingapi\" \"winerror\" \"fileapi\" \"winbase\" ];\n }\n ];\n \n };\n \"rustc-demangle\" = rec {\n crateName = \"rustc-demangle\";\n version = \"0.1.16\";\n edition = \"2015\";\n sha256 = \"10qp42sl1wrdbgbbh8rnay2grm976z7hqgz32c4y09l1c071qsac\";\n authors = [\n \"Alex Crichton \"\n ];\n features = {\n \"rustc-dep-of-std\" = [ \"core\" \"compiler_builtins\" ];\n };\n };\n \"ryu\" = rec {\n crateName = \"ryu\";\n version = \"1.0.3\";\n edition = \"2015\";\n sha256 = \"0xlx9ybzncrb7d6r9533g8ydlg6mr252pfzl4g9cqaqkpvk24mjk\";\n authors = [\n \"David Tolnay \"\n ];\n features = {\n };\n };\n \"same-file\" = rec {\n crateName = \"same-file\";\n version = \"1.0.6\";\n edition = \"2018\";\n sha256 = \"00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"winapi-util\";\n packageId = \"winapi-util\";\n target = { target, features }: target.\"windows\";\n }\n ];\n \n };\n \"semver\" = rec {\n crateName = \"semver\";\n version = \"0.9.0\";\n edition = \"2015\";\n sha256 = \"00q4lkcj0rrgbhviv9sd4p6qmdsipkwkbra7rh11jrhq5kpvjzhx\";\n authors = [\n \"Steve Klabnik \"\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"semver-parser\";\n packageId = \"semver-parser\";\n }\n {\n name = \"serde\";\n packageId = \"serde\";\n optional = true;\n }\n ];\n features = {\n \"ci\" = [ \"serde\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"serde\" ];\n };\n \"semver-parser\" = rec {\n crateName = \"semver-parser\";\n version = \"0.7.0\";\n edition = \"2015\";\n sha256 = \"18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq\";\n authors = [\n \"Steve Klabnik \"\n ];\n \n };\n \"serde\" = rec {\n crateName = \"serde\";\n version = \"1.0.105\";\n edition = \"2015\";\n sha256 = \"1zrj157dxvmymp5ii60anap2qqks4pkr3fwsp71wi3sv4nzzn1z7\";\n authors = [\n \"Erick Tryzelaar \"\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"serde_derive\";\n packageId = \"serde_derive\";\n optional = true;\n }\n ];\n devDependencies = [\n {\n name = \"serde_derive\";\n packageId = \"serde_derive\";\n }\n ];\n features = {\n \"default\" = [ \"std\" ];\n \"derive\" = [ \"serde_derive\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"derive\" \"serde_derive\" \"std\" ];\n };\n \"serde_derive\" = rec {\n crateName = \"serde_derive\";\n version = \"1.0.105\";\n edition = \"2015\";\n sha256 = \"1y5gzwpy8yjv9pwh1js11vr18nfz4gg1g2kmyr6p58hvavy00pdc\";\n procMacro = true;\n authors = [\n \"Erick Tryzelaar \"\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n features = [ \"visit\" ];\n }\n ];\n features = {\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"serde_json\" = rec {\n crateName = \"serde_json\";\n version = \"1.0.48\";\n edition = \"2018\";\n sha256 = \"09cwggp707hf0qswzrg00nffr09prx99f6qlajqnqbacbpksswck\";\n authors = [\n \"Erick Tryzelaar \"\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"itoa\";\n packageId = \"itoa\";\n usesDefaultFeatures = false;\n }\n {\n name = \"ryu\";\n packageId = \"ryu\";\n }\n {\n name = \"serde\";\n packageId = \"serde\";\n usesDefaultFeatures = false;\n }\n ];\n features = {\n \"alloc\" = [ \"serde/alloc\" ];\n \"default\" = [ \"std\" ];\n \"preserve_order\" = [ \"indexmap\" ];\n \"std\" = [ \"serde/std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"sha-1\" = rec {\n crateName = \"sha-1\";\n version = \"0.8.2\";\n edition = \"2015\";\n sha256 = \"1pv387q0r7llk2cqzyq0nivzvkgqgzsiygqzlv7b68z9xl5lvngp\";\n libName = \"sha1\";\n authors = [\n \"RustCrypto Developers\"\n ];\n dependencies = [\n {\n name = \"block-buffer\";\n packageId = \"block-buffer\";\n }\n {\n name = \"digest\";\n packageId = \"digest\";\n }\n {\n name = \"fake-simd\";\n packageId = \"fake-simd\";\n }\n {\n name = \"opaque-debug\";\n packageId = \"opaque-debug\";\n }\n ];\n devDependencies = [\n {\n name = \"digest\";\n packageId = \"digest\";\n features = [ \"dev\" ];\n }\n ];\n features = {\n \"asm\" = [ \"sha1-asm\" ];\n \"asm-aarch64\" = [ \"asm\" \"libc\" ];\n \"default\" = [ \"std\" ];\n \"std\" = [ \"digest/std\" ];\n };\n };\n \"smallvec\" = rec {\n crateName = \"smallvec\";\n version = \"1.2.0\";\n edition = \"2018\";\n sha256 = \"1z6f47i3qpg9pdjzzvb0g5i1vvdm2ymk3kqc1mdnl8fdkgnb4bsw\";\n libPath = \"lib.rs\";\n authors = [\n \"Simon Sapin \"\n ];\n features = {\n };\n };\n \"strsim\" = rec {\n crateName = \"strsim\";\n version = \"0.8.0\";\n edition = \"2015\";\n sha256 = \"0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf\";\n authors = [\n \"Danny Guo \"\n ];\n \n };\n \"structopt 0.2.18\" = rec {\n crateName = \"structopt\";\n version = \"0.2.18\";\n edition = \"2015\";\n sha256 = \"1mvfv1l8vp3y402fkl2wcl34hi7gmr4bqha13dfz2xf3kjzwvhhn\";\n authors = [\n \"Guillaume Pinot \"\n \"others\"\n ];\n dependencies = [\n {\n name = \"clap\";\n packageId = \"clap\";\n usesDefaultFeatures = false;\n }\n {\n name = \"structopt-derive\";\n packageId = \"structopt-derive 0.2.18\";\n }\n ];\n features = {\n \"color\" = [ \"clap/color\" ];\n \"debug\" = [ \"clap/debug\" ];\n \"default\" = [ \"clap/default\" ];\n \"doc\" = [ \"clap/doc\" ];\n \"lints\" = [ \"clap/lints\" ];\n \"nightly\" = [ \"structopt-derive/nightly\" ];\n \"no_cargo\" = [ \"clap/no_cargo\" ];\n \"paw\" = [ \"structopt-derive/paw\" ];\n \"suggestions\" = [ \"clap/suggestions\" ];\n \"wrap_help\" = [ \"clap/wrap_help\" ];\n \"yaml\" = [ \"clap/yaml\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"structopt 0.3.12\" = rec {\n crateName = \"structopt\";\n version = \"0.3.12\";\n edition = \"2018\";\n sha256 = \"178m7wxnjyy9a8a961z74nazjsg79rfv3gv9g3bykfrrjmqs5yn8\";\n authors = [\n \"Guillaume Pinot \"\n \"others\"\n ];\n dependencies = [\n {\n name = \"clap\";\n packageId = \"clap\";\n usesDefaultFeatures = false;\n }\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n }\n {\n name = \"structopt-derive\";\n packageId = \"structopt-derive 0.4.5\";\n }\n ];\n features = {\n \"color\" = [ \"clap/color\" ];\n \"debug\" = [ \"clap/debug\" ];\n \"default\" = [ \"clap/default\" ];\n \"doc\" = [ \"clap/doc\" ];\n \"lints\" = [ \"clap/lints\" ];\n \"no_cargo\" = [ \"clap/no_cargo\" ];\n \"paw\" = [ \"structopt-derive/paw\" ];\n \"suggestions\" = [ \"clap/suggestions\" ];\n \"wrap_help\" = [ \"clap/wrap_help\" ];\n \"yaml\" = [ \"clap/yaml\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"structopt-derive 0.2.18\" = rec {\n crateName = \"structopt-derive\";\n version = \"0.2.18\";\n edition = \"2015\";\n sha256 = \"01sis9z5kqmyhvzbnmlzpdxcry99a0b9blypksgnhdsbm1hh40ak\";\n procMacro = true;\n authors = [\n \"Guillaume Pinot \"\n ];\n dependencies = [\n {\n name = \"heck\";\n packageId = \"heck\";\n }\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 0.4.30\";\n }\n {\n name = \"quote\";\n packageId = \"quote 0.6.13\";\n }\n {\n name = \"syn\";\n packageId = \"syn 0.15.44\";\n }\n ];\n features = {\n \"nightly\" = [ \"proc-macro2/nightly\" ];\n };\n };\n \"structopt-derive 0.4.5\" = rec {\n crateName = \"structopt-derive\";\n version = \"0.4.5\";\n edition = \"2018\";\n sha256 = \"0c04bbzc5bmr2ns6qy35yz55nn3xvlq4dpwxdynnljb9ikhvi21z\";\n procMacro = true;\n authors = [\n \"Guillaume Pinot \"\n ];\n dependencies = [\n {\n name = \"heck\";\n packageId = \"heck\";\n }\n {\n name = \"proc-macro-error\";\n packageId = \"proc-macro-error\";\n }\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n features = [ \"full\" ];\n }\n ];\n features = {\n };\n };\n \"syn 0.15.44\" = rec {\n crateName = \"syn\";\n version = \"0.15.44\";\n edition = \"2015\";\n sha256 = \"1id5g6x6zihv3j7hwrw3m1jp636bg8dpi671r7zy3jvpkavb794w\";\n authors = [\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 0.4.30\";\n usesDefaultFeatures = false;\n }\n {\n name = \"quote\";\n packageId = \"quote 0.6.13\";\n optional = true;\n usesDefaultFeatures = false;\n }\n {\n name = \"unicode-xid\";\n packageId = \"unicode-xid 0.1.0\";\n }\n ];\n features = {\n \"default\" = [ \"derive\" \"parsing\" \"printing\" \"clone-impls\" \"proc-macro\" ];\n \"printing\" = [ \"quote\" ];\n \"proc-macro\" = [ \"proc-macro2/proc-macro\" \"quote/proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"clone-impls\" \"default\" \"derive\" \"parsing\" \"printing\" \"proc-macro\" \"quote\" ];\n };\n \"syn 1.0.17\" = rec {\n crateName = \"syn\";\n version = \"1.0.17\";\n edition = \"2018\";\n sha256 = \"00xvf772ys4fj9fr8kplmsqb9if215dsipi3nv54aw9q7xkfpw0d\";\n authors = [\n \"David Tolnay \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n usesDefaultFeatures = false;\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n optional = true;\n usesDefaultFeatures = false;\n }\n {\n name = \"unicode-xid\";\n packageId = \"unicode-xid 0.2.0\";\n }\n ];\n features = {\n \"default\" = [ \"derive\" \"parsing\" \"printing\" \"clone-impls\" \"proc-macro\" ];\n \"printing\" = [ \"quote\" ];\n \"proc-macro\" = [ \"proc-macro2/proc-macro\" \"quote/proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"clone-impls\" \"default\" \"derive\" \"extra-traits\" \"full\" \"parsing\" \"printing\" \"proc-macro\" \"quote\" \"visit\" ];\n };\n \"syn-mid\" = rec {\n crateName = \"syn-mid\";\n version = \"0.5.0\";\n edition = \"2018\";\n sha256 = \"12ikg5jfklixq0wsgfl7sdzjqlxgq50ygklxy4f972hjdjgm7qvv\";\n authors = [\n \"Taiki Endo \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n usesDefaultFeatures = false;\n features = [ \"parsing\" \"printing\" \"derive\" ];\n }\n ];\n features = {\n \"clone-impls\" = [ \"syn/clone-impls\" ];\n };\n };\n \"synstructure\" = rec {\n crateName = \"synstructure\";\n version = \"0.12.3\";\n edition = \"2018\";\n sha256 = \"0igmc5fzpk6fg7kgff914j05lbpc6ai2wmji312v2h8vvjhnwrb7\";\n authors = [\n \"Nika Layzell \"\n ];\n dependencies = [\n {\n name = \"proc-macro2\";\n packageId = \"proc-macro2 1.0.9\";\n usesDefaultFeatures = false;\n }\n {\n name = \"quote\";\n packageId = \"quote 1.0.3\";\n usesDefaultFeatures = false;\n }\n {\n name = \"syn\";\n packageId = \"syn 1.0.17\";\n usesDefaultFeatures = false;\n features = [ \"derive\" \"parsing\" \"printing\" \"clone-impls\" \"visit\" \"extra-traits\" ];\n }\n {\n name = \"unicode-xid\";\n packageId = \"unicode-xid 0.2.0\";\n }\n ];\n features = {\n \"default\" = [ \"proc-macro\" ];\n \"proc-macro\" = [ \"proc-macro2/proc-macro\" \"syn/proc-macro\" \"quote/proc-macro\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"proc-macro\" ];\n };\n \"tempdir\" = rec {\n crateName = \"tempdir\";\n version = \"0.3.7\";\n edition = \"2015\";\n sha256 = \"1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm\";\n authors = [\n \"The Rust Project Developers\"\n ];\n dependencies = [\n {\n name = \"rand\";\n packageId = \"rand\";\n }\n {\n name = \"remove_dir_all\";\n packageId = \"remove_dir_all\";\n }\n ];\n \n };\n \"tera\" = rec {\n crateName = \"tera\";\n version = \"1.1.0\";\n edition = \"2018\";\n sha256 = \"13f9syjxf4kcq9pp8vnaad6y5z7wksxav5f8y1izqhx22hazh8jl\";\n authors = [\n \"Vincent Prouillet \"\n ];\n dependencies = [\n {\n name = \"globwalk\";\n packageId = \"globwalk\";\n }\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n }\n {\n name = \"pest\";\n packageId = \"pest\";\n }\n {\n name = \"pest_derive\";\n packageId = \"pest_derive\";\n }\n {\n name = \"regex\";\n packageId = \"regex\";\n }\n {\n name = \"serde\";\n packageId = \"serde\";\n }\n {\n name = \"serde_json\";\n packageId = \"serde_json\";\n }\n ];\n features = {\n \"builtins\" = [ \"slug\" \"percent-encoding\" \"humansize\" \"chrono\" \"chrono-tz\" \"unic-segment\" \"rand\" ];\n \"default\" = [ \"builtins\" ];\n \"preserve_order\" = [ \"serde_json/preserve_order\" ];\n };\n };\n \"termcolor\" = rec {\n crateName = \"termcolor\";\n version = \"1.1.0\";\n edition = \"2018\";\n sha256 = \"0pyp8vc0gx7124y80ixdl6plbfn1yjhw04i875k5fz2dk8lglsxv\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"winapi-util\";\n packageId = \"winapi-util\";\n target = { target, features }: target.\"windows\";\n }\n ];\n \n };\n \"textwrap\" = rec {\n crateName = \"textwrap\";\n version = \"0.11.0\";\n edition = \"2015\";\n sha256 = \"0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk\";\n authors = [\n \"Martin Geisler \"\n ];\n dependencies = [\n {\n name = \"unicode-width\";\n packageId = \"unicode-width\";\n }\n ];\n \n };\n \"thread_local\" = rec {\n crateName = \"thread_local\";\n version = \"1.0.1\";\n edition = \"2015\";\n sha256 = \"054vlrr1vsdy1h4b7n99mr24pnj8928ig9qwzg36wnkld4dns36l\";\n authors = [\n \"Amanieu d\'Antras \"\n ];\n dependencies = [\n {\n name = \"lazy_static\";\n packageId = \"lazy_static\";\n }\n ];\n \n };\n \"toml\" = rec {\n crateName = \"toml\";\n version = \"0.5.6\";\n edition = \"2018\";\n sha256 = \"06n7j8z63hj6g0kj2x6sqwxnm4q3s0q5d873bdk41vqy1cb2vjgz\";\n authors = [\n \"Alex Crichton \"\n ];\n dependencies = [\n {\n name = \"serde\";\n packageId = \"serde\";\n }\n ];\n features = {\n \"preserve_order\" = [ \"indexmap\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"typenum\" = rec {\n crateName = \"typenum\";\n version = \"1.11.2\";\n edition = \"2015\";\n sha256 = \"1ybmfpp7j37zmaw50w35wiwx66lbpr0yp1312c0i333b5pz869vd\";\n build = \"build/main.rs\";\n authors = [\n \"Paho Lurie-Gregg \"\n \"Andre Bogus \"\n ];\n features = {\n };\n };\n \"ucd-trie\" = rec {\n crateName = \"ucd-trie\";\n version = \"0.1.3\";\n edition = \"2018\";\n sha256 = \"072cblf8v3wzyaz3lhbpzgil4s03dpzg1ppy3gqx2l4v622y3pjn\";\n authors = [\n \"Andrew Gallant \"\n ];\n features = {\n \"default\" = [ \"std\" ];\n };\n resolvedDefaultFeatures = [ \"default\" \"std\" ];\n };\n \"unicode-bidi\" = rec {\n crateName = \"unicode-bidi\";\n version = \"0.3.4\";\n edition = \"2015\";\n sha256 = \"1malx8ljgm7v1gbaazkn7iicy5wj0bwcyadj3l727a38ch6bvwj9\";\n libName = \"unicode_bidi\";\n authors = [\n \"The Servo Project Developers\"\n ];\n dependencies = [\n {\n name = \"matches\";\n packageId = \"matches\";\n }\n ];\n features = {\n \"flame_it\" = [ \"flame\" \"flamer\" ];\n \"with_serde\" = [ \"serde\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"unicode-normalization\" = rec {\n crateName = \"unicode-normalization\";\n version = \"0.1.12\";\n edition = \"2015\";\n sha256 = \"195gb4fzlgg4g9cv6w057ncpmvvnx30r00w9hj114knhmlmm6yal\";\n authors = [\n \"kwantam \"\n ];\n dependencies = [\n {\n name = \"smallvec\";\n packageId = \"smallvec\";\n }\n ];\n \n };\n \"unicode-segmentation\" = rec {\n crateName = \"unicode-segmentation\";\n version = \"1.6.0\";\n edition = \"2015\";\n sha256 = \"1h7d48mzpi8hwf5cvnq07warkv86pvapzzzf32hvbjsk20yiagp8\";\n authors = [\n \"kwantam \"\n \"Manish Goregaokar \"\n ];\n features = {\n };\n };\n \"unicode-width\" = rec {\n crateName = \"unicode-width\";\n version = \"0.1.7\";\n edition = \"2015\";\n sha256 = \"0yflmxkxmm89ckrb3sz58whn491aycrj8cxra0hzzlb72x9rvana\";\n authors = [\n \"kwantam \"\n \"Manish Goregaokar \"\n ];\n features = {\n \"rustc-dep-of-std\" = [ \"std\" \"core\" \"compiler_builtins\" ];\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"unicode-xid 0.1.0\" = rec {\n crateName = \"unicode-xid\";\n version = \"0.1.0\";\n edition = \"2015\";\n sha256 = \"1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw\";\n authors = [\n \"erick.tryzelaar \"\n \"kwantam \"\n ];\n features = {\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"unicode-xid 0.2.0\" = rec {\n crateName = \"unicode-xid\";\n version = \"0.2.0\";\n edition = \"2015\";\n sha256 = \"0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2\";\n authors = [\n \"erick.tryzelaar \"\n \"kwantam \"\n ];\n features = {\n };\n resolvedDefaultFeatures = [ \"default\" ];\n };\n \"url\" = rec {\n crateName = \"url\";\n version = \"1.7.2\";\n edition = \"2015\";\n sha256 = \"0nim1c90mxpi9wgdw2xh8dqd72vlklwlzam436akcrhjac6pqknx\";\n authors = [\n \"The rust-url developers\"\n ];\n dependencies = [\n {\n name = \"idna\";\n packageId = \"idna\";\n }\n {\n name = \"matches\";\n packageId = \"matches\";\n }\n {\n name = \"percent-encoding\";\n packageId = \"percent-encoding\";\n }\n ];\n features = {\n \"heap_size\" = [ \"heapsize\" ];\n \"query_encoding\" = [ \"encoding\" ];\n };\n };\n \"url_serde\" = rec {\n crateName = \"url_serde\";\n version = \"0.2.0\";\n edition = \"2015\";\n sha256 = \"1snxgdzlcj5mpnbkpnzm533l6830qf9hrmmxshizhlpfy6cx1rvl\";\n authors = [\n \"The rust-url developers\"\n ];\n dependencies = [\n {\n name = \"serde\";\n packageId = \"serde\";\n }\n {\n name = \"url\";\n packageId = \"url\";\n }\n ];\n \n };\n \"vec_map\" = rec {\n crateName = \"vec_map\";\n version = \"0.8.1\";\n edition = \"2015\";\n sha256 = \"06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5\";\n authors = [\n \"Alex Crichton \"\n \"Jorge Aparicio \"\n \"Alexis Beingessner \"\n \"Brian Anderson <>\"\n \"tbu- <>\"\n \"Manish Goregaokar <>\"\n \"Aaron Turon \"\n \"Adolfo Ochagavía <>\"\n \"Niko Matsakis <>\"\n \"Steven Fackler <>\"\n \"Chase Southwood \"\n \"Eduard Burtescu <>\"\n \"Florian Wilkens <>\"\n \"Félix Raimundo <>\"\n \"Tibor Benke <>\"\n \"Markus Siemens \"\n \"Josh Branchaud \"\n \"Huon Wilson \"\n \"Corey Farwell \"\n \"Aaron Liblong <>\"\n \"Nick Cameron \"\n \"Patrick Walton \"\n \"Felix S Klock II <>\"\n \"Andrew Paseltiner \"\n \"Sean McArthur \"\n \"Vadim Petrochenkov <>\"\n ];\n features = {\n \"eders\" = [ \"serde\" ];\n };\n };\n \"version_check\" = rec {\n crateName = \"version_check\";\n version = \"0.9.1\";\n edition = \"2015\";\n sha256 = \"1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7\";\n authors = [\n \"Sergio Benitez \"\n ];\n \n };\n \"walkdir\" = rec {\n crateName = \"walkdir\";\n version = \"2.3.1\";\n edition = \"2018\";\n sha256 = \"0z9g39f49cycdm9vzjf8hnfh3f1csxgd65kmlphj8r2vffy84wbp\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"same-file\";\n packageId = \"same-file\";\n }\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: target.\"windows\";\n features = [ \"std\" \"winnt\" ];\n }\n {\n name = \"winapi-util\";\n packageId = \"winapi-util\";\n target = { target, features }: target.\"windows\";\n }\n ];\n \n };\n \"winapi\" = rec {\n crateName = \"winapi\";\n version = \"0.3.8\";\n edition = \"2015\";\n sha256 = \"1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0\";\n authors = [\n \"Peter Atashian \"\n ];\n dependencies = [\n {\n name = \"winapi-i686-pc-windows-gnu\";\n packageId = \"winapi-i686-pc-windows-gnu\";\n target = { target, features }: (stdenv.hostPlatform.config == \"i686-pc-windows-gnu\");\n }\n {\n name = \"winapi-x86_64-pc-windows-gnu\";\n packageId = \"winapi-x86_64-pc-windows-gnu\";\n target = { target, features }: (stdenv.hostPlatform.config == \"x86_64-pc-windows-gnu\");\n }\n ];\n features = {\n \"debug\" = [ \"impl-debug\" ];\n };\n resolvedDefaultFeatures = [ \"consoleapi\" \"errhandlingapi\" \"fileapi\" \"minwinbase\" \"minwindef\" \"ntsecapi\" \"processenv\" \"profileapi\" \"std\" \"winbase\" \"wincon\" \"winerror\" \"winnt\" ];\n };\n \"winapi-i686-pc-windows-gnu\" = rec {\n crateName = \"winapi-i686-pc-windows-gnu\";\n version = \"0.4.0\";\n edition = \"2015\";\n sha256 = \"1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc\";\n authors = [\n \"Peter Atashian \"\n ];\n \n };\n \"winapi-util\" = rec {\n crateName = \"winapi-util\";\n version = \"0.1.3\";\n edition = \"2018\";\n sha256 = \"105dq898nah3dwrzr96vvb5srp6g2v5dl5vmzf211lba9iavzksc\";\n authors = [\n \"Andrew Gallant \"\n ];\n dependencies = [\n {\n name = \"winapi\";\n packageId = \"winapi\";\n target = { target, features }: target.\"windows\";\n features = [ \"std\" \"consoleapi\" \"errhandlingapi\" \"fileapi\" \"minwindef\" \"processenv\" \"winbase\" \"wincon\" \"winerror\" \"winnt\" ];\n }\n ];\n \n };\n \"winapi-x86_64-pc-windows-gnu\" = rec {\n crateName = \"winapi-x86_64-pc-windows-gnu\";\n version = \"0.4.0\";\n edition = \"2015\";\n sha256 = \"0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki\";\n authors = [\n \"Peter Atashian \"\n ];\n \n };\n };\n\n #\n# crate2nix/default.nix (excerpt start)\n#\n\n /* Target (platform) data for conditional dependencies.\n This corresponds roughly to what buildRustCrate is setting.\n */\n defaultTarget = {\n unix = true;\n windows = false;\n fuchsia = true;\n test = false;\n\n # This doesn\'t appear to be officially documented anywhere yet.\n # See https://github.com/rust-lang-nursery/rust-forge/issues/101.\n os = if stdenv.hostPlatform.isDarwin\n then \"macos\"\n else stdenv.hostPlatform.parsed.kernel.name;\n arch = stdenv.hostPlatform.parsed.cpu.name;\n family = \"unix\";\n env = \"gnu\";\n endian =\n if stdenv.hostPlatform.parsed.cpu.significantByte.name == \"littleEndian\"\n then \"little\" else \"big\";\n pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits;\n vendor = stdenv.hostPlatform.parsed.vendor.name;\n debug_assertions = false;\n };\n\n /* Filters common temp files and build files. */\n # TODO(pkolloch): Substitute with gitignore filter\n sourceFilter = name: type:\n let\n baseName = builtins.baseNameOf (builtins.toString name);\n in\n ! (\n # Filter out git\n baseName == \".gitignore\"\n || (type == \"directory\" && baseName == \".git\")\n\n # Filter out build results\n || (\n type == \"directory\" && (\n baseName == \"target\"\n || baseName == \"_site\"\n || baseName == \".sass-cache\"\n || baseName == \".jekyll-metadata\"\n || baseName == \"build-artifacts\"\n )\n )\n\n # Filter out nix-build result symlinks \n || (\n type == \"symlink\" && lib.hasPrefix \"result\" baseName\n )\n\n # Filter out IDE config\n || (\n type == \"directory\" && (\n baseName == \".idea\" || baseName == \".vscode\"\n )\n ) || lib.hasSuffix \".iml\" baseName\n\n # Filter out nix build files\n || baseName == \"Cargo.nix\"\n\n # Filter out editor backup / swap files.\n || lib.hasSuffix \"~\" baseName\n || builtins.match \"^\\\\.sw[a-z]$$\" baseName != null\n || builtins.match \"^\\\\..*\\\\.sw[a-z]$$\" baseName != null\n || lib.hasSuffix \".tmp\" baseName\n || lib.hasSuffix \".bak\" baseName\n || baseName == \"tests.nix\"\n );\n\n /* Returns a crate which depends on successful test execution\n of crate given as the second argument.\n\n testCrateFlags: list of flags to pass to the test exectuable\n testInputs: list of packages that should be available during test execution\n */\n crateWithTest = { crate, testCrate, testCrateFlags, testInputs }:\n assert builtins.typeOf testCrateFlags == \"list\";\n assert builtins.typeOf testInputs == \"list\";\n let\n # override the `crate` so that it will build and execute tests instead of\n # building the actual lib and bin targets We just have to pass `--test`\n # to rustc and it will do the right thing. We execute the tests and copy\n # their log and the test executables to $out for later inspection.\n test = let\n drv = testCrate.override (\n _: {\n buildTests = true;\n }\n );\n in\n pkgs.runCommand \"run-tests-${testCrate.name}\" {\n inherit testCrateFlags;\n buildInputs = testInputs;\n } \'\'\n set -ex\n cd ${crate.src}\n for file in ${drv}/tests/*; do\n $file $testCrateFlags 2>&1 | tee -a $out\n done\n \'\';\n in\n crate.overrideAttrs (\n old: {\n checkPhase = \'\'\n test -e ${test}\n \'\';\n passthru = (old.passthru or {}) // {\n inherit test;\n };\n }\n );\n\n /* A restricted overridable version of builtRustCratesWithFeatures. */\n buildRustCrateWithFeatures =\n { packageId\n , features ? rootFeatures\n , crateOverrides ? defaultCrateOverrides\n , buildRustCrateFunc ? (\n if crateOverrides == pkgs.defaultCrateOverrides\n then buildRustCrate\n else buildRustCrate.override {\n defaultCrateOverrides = crateOverrides;\n }\n )\n , runTests ? false\n , testCrateFlags ? []\n , testInputs ? []\n }:\n lib.makeOverridable\n (\n { features, crateOverrides, runTests, testCrateFlags, testInputs }:\n let\n builtRustCrates = builtRustCratesWithFeatures {\n inherit packageId features buildRustCrateFunc;\n runTests = false;\n };\n builtTestRustCrates = builtRustCratesWithFeatures {\n inherit packageId features buildRustCrateFunc;\n runTests = true;\n };\n drv = builtRustCrates.${packageId};\n testDrv = builtTestRustCrates.${packageId};\n in\n if runTests then\n crateWithTest {\n crate = drv;\n testCrate = testDrv;\n inherit testCrateFlags testInputs;\n }\n else drv\n )\n { inherit features crateOverrides runTests testCrateFlags testInputs; };\n\n /* Returns an attr set with packageId mapped to the result of buildRustCrateFunc \n for the corresponding crate. \n */\n builtRustCratesWithFeatures =\n { packageId\n , features\n , crateConfigs ? crates\n , buildRustCrateFunc\n , runTests\n , target ? defaultTarget\n } @ args:\n assert (builtins.isAttrs crateConfigs);\n assert (builtins.isString packageId);\n assert (builtins.isList features);\n assert (builtins.isAttrs target);\n assert (builtins.isBool runTests);\n let\n rootPackageId = packageId;\n mergedFeatures = mergePackageFeatures (\n args // {\n inherit rootPackageId;\n target = target // { test = runTests; };\n }\n );\n\n buildByPackageId = packageId: buildByPackageIdImpl packageId;\n\n # Memoize built packages so that reappearing packages are only built once.\n builtByPackageId =\n lib.mapAttrs (packageId: value: buildByPackageId packageId) crateConfigs;\n\n buildByPackageIdImpl = packageId:\n let\n features = mergedFeatures.\"${packageId}\" or [];\n crateConfig\' = crateConfigs.\"${packageId}\";\n crateConfig =\n builtins.removeAttrs crateConfig\' [ \"resolvedDefaultFeatures\" \"devDependencies\" ];\n devDependencies =\n lib.optionals\n (runTests && packageId == rootPackageId)\n (crateConfig\'.devDependencies or []);\n dependencies =\n dependencyDerivations {\n inherit builtByPackageId features target;\n dependencies =\n (crateConfig.dependencies or [])\n ++ devDependencies;\n };\n buildDependencies =\n dependencyDerivations {\n inherit builtByPackageId features target;\n dependencies = crateConfig.buildDependencies or [];\n };\n\n filterEnabledDependenciesForThis = dependencies: filterEnabledDependencies {\n inherit dependencies features target;\n };\n\n dependenciesWithRenames =\n lib.filter (d: d ? \"rename\") (\n filterEnabledDependenciesForThis\n (\n (crateConfig.buildDependencies or [])\n ++ (crateConfig.dependencies or [])\n ++ devDependencies\n )\n );\n\n crateRenames =\n builtins.listToAttrs\n (map (d: { name = d.name; value = d.rename; }) dependenciesWithRenames);\n in\n buildRustCrateFunc (\n crateConfig // {\n src = crateConfig.src or (\n pkgs.fetchurl {\n name = \"${crateConfig.crateName}-${crateConfig.version}.tar.gz\";\n url = \"https://crates.io/api/v1/crates/${crateConfig.crateName}/${crateConfig.version}/download\";\n sha256 = crateConfig.sha256;\n }\n );\n inherit features dependencies buildDependencies crateRenames release;\n }\n );\n in\n builtByPackageId;\n\n /* Returns the actual derivations for the given dependencies. */\n dependencyDerivations =\n { builtByPackageId\n , features\n , dependencies\n , target\n }:\n assert (builtins.isAttrs builtByPackageId);\n assert (builtins.isList features);\n assert (builtins.isList dependencies);\n assert (builtins.isAttrs target);\n let\n enabledDependencies = filterEnabledDependencies {\n inherit dependencies features target;\n };\n depDerivation = dependency: builtByPackageId.${dependency.packageId};\n in\n map depDerivation enabledDependencies;\n\n /* Returns a sanitized version of val with all values substituted that cannot\n be serialized as JSON. \n */\n sanitizeForJson = val:\n if builtins.isAttrs val\n then lib.mapAttrs (n: v: sanitizeForJson v) val\n else if builtins.isList val\n then builtins.map sanitizeForJson val\n else if builtins.isFunction val\n then \"function\"\n else val;\n\n /* Returns various tools to debug a crate. */\n debugCrate = { packageId, target ? defaultTarget }:\n assert (builtins.isString packageId);\n let\n debug = rec {\n # The built tree as passed to buildRustCrate.\n buildTree = buildRustCrateWithFeatures {\n buildRustCrateFunc = lib.id;\n inherit packageId;\n };\n sanitizedBuildTree = sanitizeForJson buildTree;\n dependencyTree = sanitizeForJson (\n buildRustCrateWithFeatures {\n buildRustCrateFunc = crate: {\n \"01_crateName\" = crate.crateName or false;\n \"02_features\" = crate.features or [];\n \"03_dependencies\" = crate.dependencies or [];\n };\n inherit packageId;\n }\n );\n mergedPackageFeatures = mergePackageFeatures {\n features = rootFeatures;\n inherit packageId target;\n };\n diffedDefaultPackageFeatures = diffDefaultPackageFeatures {\n inherit packageId target;\n };\n };\n in\n { internal = debug; };\n\n /* Returns differences between cargo default features and crate2nix default\n features.\n \n This is useful for verifying the feature resolution in crate2nix.\n */\n diffDefaultPackageFeatures =\n { crateConfigs ? crates\n , packageId\n , target\n }:\n assert (builtins.isAttrs crateConfigs);\n let\n prefixValues = prefix: lib.mapAttrs (n: v: { \"${prefix}\" = v; });\n mergedFeatures =\n prefixValues\n \"crate2nix\"\n (mergePackageFeatures { inherit crateConfigs packageId target; features = [ \"default\" ]; });\n configs = prefixValues \"cargo\" crateConfigs;\n combined = lib.foldAttrs (a: b: a // b) {} [ mergedFeatures configs ];\n onlyInCargo =\n builtins.attrNames\n (lib.filterAttrs (n: v: !(v ? \"crate2nix\") && (v ? \"cargo\")) combined);\n onlyInCrate2Nix =\n builtins.attrNames\n (lib.filterAttrs (n: v: (v ? \"crate2nix\") && !(v ? \"cargo\")) combined);\n differentFeatures = lib.filterAttrs\n (\n n: v:\n (v ? \"crate2nix\")\n && (v ? \"cargo\")\n && (v.crate2nix.features or []) != (v.\"cargo\".resolved_default_features or [])\n )\n combined;\n in\n builtins.toJSON {\n inherit onlyInCargo onlyInCrate2Nix differentFeatures;\n };\n\n /* Returns an attrset mapping packageId to the list of enabled features.\n\n If multiple paths to a dependency enable different features, the\n corresponding feature sets are merged. Features in rust are additive.\n */\n mergePackageFeatures =\n { crateConfigs ? crates\n , packageId\n , rootPackageId ? packageId\n , features ? rootFeatures\n , dependencyPath ? [ crates.${packageId}.crateName ]\n , featuresByPackageId ? {}\n , target\n # Adds devDependencies to the crate with rootPackageId.\n , runTests ? false\n , ...\n } @ args:\n assert (builtins.isAttrs crateConfigs);\n assert (builtins.isString packageId);\n assert (builtins.isString rootPackageId);\n assert (builtins.isList features);\n assert (builtins.isList dependencyPath);\n assert (builtins.isAttrs featuresByPackageId);\n assert (builtins.isAttrs target);\n assert (builtins.isBool runTests);\n let\n crateConfig = crateConfigs.\"${packageId}\" or (builtins.throw \"Package not found: ${packageId}\");\n expandedFeatures = expandFeatures (crateConfig.features or {}) features;\n\n depWithResolvedFeatures = dependency:\n let\n packageId = dependency.packageId;\n features = dependencyFeatures expandedFeatures dependency;\n in\n { inherit packageId features; };\n\n resolveDependencies = cache: path: dependencies:\n assert (builtins.isAttrs cache);\n assert (builtins.isList dependencies);\n let\n enabledDependencies = filterEnabledDependencies {\n inherit dependencies target;\n features = expandedFeatures;\n };\n directDependencies = map depWithResolvedFeatures enabledDependencies;\n foldOverCache = op: lib.foldl op cache directDependencies;\n in\n foldOverCache\n (\n cache: { packageId, features }:\n let\n cacheFeatures = cache.${packageId} or [];\n combinedFeatures = sortedUnique (cacheFeatures ++ features);\n in\n if cache ? ${packageId} && cache.${packageId} == combinedFeatures\n then cache\n else mergePackageFeatures {\n features = combinedFeatures;\n featuresByPackageId = cache;\n inherit crateConfigs packageId target runTests rootPackageId;\n }\n );\n\n cacheWithSelf =\n let\n cacheFeatures = featuresByPackageId.${packageId} or [];\n combinedFeatures = sortedUnique (cacheFeatures ++ expandedFeatures);\n in\n featuresByPackageId // {\n \"${packageId}\" = combinedFeatures;\n };\n\n cacheWithDependencies =\n resolveDependencies cacheWithSelf \"dep\" (\n crateConfig.dependencies or []\n ++ lib.optionals\n (runTests && packageId == rootPackageId)\n (crateConfig.devDependencies or [])\n );\n\n cacheWithAll =\n resolveDependencies\n cacheWithDependencies \"build\"\n (crateConfig.buildDependencies or []);\n in\n cacheWithAll;\n\n /* Returns the enabled dependencies given the enabled features. */\n filterEnabledDependencies = { dependencies, features, target }:\n assert (builtins.isList dependencies);\n assert (builtins.isList features);\n assert (builtins.isAttrs target);\n\n lib.filter\n (\n dep:\n let\n targetFunc = dep.target or (features: true);\n in\n targetFunc { inherit features target; }\n && (\n !(dep.optional or false)\n || builtins.any (doesFeatureEnableDependency dep) features\n )\n )\n dependencies;\n\n /* Returns whether the given feature should enable the given dependency. */\n doesFeatureEnableDependency = { name, rename ? null, ... }: feature:\n let\n prefix = \"${name}/\";\n len = builtins.stringLength prefix;\n startsWithPrefix = builtins.substring 0 len feature == prefix;\n in\n (rename == null && feature == name)\n || (rename != null && rename == feature)\n || startsWithPrefix;\n\n /* Returns the expanded features for the given inputFeatures by applying the\n rules in featureMap.\n\n featureMap is an attribute set which maps feature names to lists of further\n feature names to enable in case this feature is selected.\n */\n expandFeatures = featureMap: inputFeatures:\n assert (builtins.isAttrs featureMap);\n assert (builtins.isList inputFeatures);\n let\n expandFeature = feature:\n assert (builtins.isString feature);\n [ feature ] ++ (expandFeatures featureMap (featureMap.\"${feature}\" or []));\n outFeatures = builtins.concatMap expandFeature inputFeatures;\n in\n sortedUnique outFeatures;\n\n /*\n Returns the actual features for the given dependency.\n \n features: The features of the crate that refers this dependency.\n */\n dependencyFeatures = features: dependency:\n assert (builtins.isList features);\n assert (builtins.isAttrs dependency);\n let\n defaultOrNil = if dependency.usesDefaultFeatures or true\n then [ \"default\" ]\n else [];\n explicitFeatures = dependency.features or [];\n additionalDependencyFeatures =\n let\n dependencyPrefix = (dependency.rename or dependency.name) + \"/\";\n dependencyFeatures =\n builtins.filter (f: lib.hasPrefix dependencyPrefix f) features;\n in\n builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures;\n in\n defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;\n\n /* Sorts and removes duplicates from a list of strings. */\n sortedUnique = features:\n assert (builtins.isList features);\n assert (builtins.all builtins.isString features);\n let\n outFeaturesSet = lib.foldl (set: feature: set // { \"${feature}\" = 1; }) {} features;\n outFeaturesUnique = builtins.attrNames outFeaturesSet;\n in\n builtins.sort (a: b: a < b) outFeaturesUnique;\n\n deprecationWarning = message: value:\n if strictDeprecation\n then builtins.throw \"strictDeprecation enabled, aborting: ${message}\"\n else builtins.trace message value;\n\n #\n # crate2nix/default.nix (excerpt end)\n #\n\n };\n}\n"`', tests/self_build_up_to_date.rs:42:5 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55fbe8489d94 - backtrace::backtrace::libunwind::trace::hc1c4a1d8ad423b97 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x55fbe8489d94 - backtrace::backtrace::trace_unsynchronized::h82274781060cb056 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x55fbe8489d94 - std::sys_common::backtrace::_print_fmt::h2a45d89b653a4da8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x55fbe8489d94 - ::fmt::h41a0a93ab85e6aa1 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x55fbe84b53ec - core::fmt::write::hdaea18585065a96d [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x55fbe7cc4055 - std::io::Write::write_fmt::h42f0550b6bd39c6e [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x55fbe8483161 - std::io::impls::>::write_fmt::h223d7b7033cad46d [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x55fbe848c665 - std::sys_common::backtrace::_print::hd95f9978cc145ca4 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x55fbe848c665 - std::sys_common::backtrace::print::hfb25ca2291be47d0 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x55fbe848c665 - std::panicking::default_hook::{{closure}}::h44f76cee5dc8591c [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x55fbe848c34b - std::panicking::default_hook::h198e1a712910f1e6 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x55fbe848ccc2 - std::panicking::rust_panic_with_hook::hc0b4730bb8013f9d [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x55fbe848c8ab - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x55fbe848c81b - std::panicking::begin_panic_fmt::h3693eb684a4f728c [INFO] [stdout] at src/libstd/panicking.rs:373 [INFO] [stdout] 14: 0x55fbe7cb6a44 - self_build_up_to_date::self_up_to_date::h99f04938183573f6 [INFO] [stdout] at tests/self_build_up_to_date.rs:42 [INFO] [stdout] 15: 0x55fbe7cb638a - self_build_up_to_date::self_up_to_date::{{closure}}::h9cd1ad70d9168fa4 [INFO] [stdout] at tests/self_build_up_to_date.rs:12 [INFO] [stdout] 16: 0x55fbe7cc22fe - core::ops::function::FnOnce::call_once::h0569cf9656a2066e [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 17: 0x55fbe7ceb4e6 - as core::ops::function::FnOnce>::call_once::hc165f65f4331a55c [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 18: 0x55fbe7ceb4e6 - as core::ops::function::FnOnce<()>>::call_once::hb89f1f769cad07ce [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 19: 0x55fbe7ceb4e6 - std::panicking::try::do_call::h104f7f3dae5a1b29 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 20: 0x55fbe7ceb4e6 - std::panicking::try::h0e20f01361cba753 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 21: 0x55fbe7ceb4e6 - std::panic::catch_unwind::h0bd0c84b5f4cd121 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 22: 0x55fbe7ceb4e6 - test::run_test_in_process::hf34c22adfeb6853d [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 23: 0x55fbe7ceb4e6 - test::run_test::run_test_inner::{{closure}}::h40d568b4c10a12f1 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 24: 0x55fbe7cc3506 - std::sys_common::backtrace::__rust_begin_short_backtrace::hffd9774ad3f2d778 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 25: 0x55fbe7cc8895 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h4594020476cf52d4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:475 [INFO] [stdout] 26: 0x55fbe7cc8895 - as core::ops::function::FnOnce<()>>::call_once::h9d0a6d45b73e29e4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 27: 0x55fbe7cc8895 - std::panicking::try::do_call::h902fd77b30bb3bb7 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 28: 0x55fbe7cc8895 - std::panicking::try::hc17d3a628e65d49d [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 29: 0x55fbe7cc8895 - std::panic::catch_unwind::h9c9d49cbb6b18017 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 30: 0x55fbe7cc8895 - std::thread::Builder::spawn_unchecked::{{closure}}::h6a6f5a333fd631a2 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:474 [INFO] [stdout] 31: 0x55fbe7cc8895 - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha6fb197e0ce57f73 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 32: 0x55fbe849389a - as core::ops::function::FnOnce>::call_once::h1f1fac7de7dd9691 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 33: 0x55fbe849389a - as core::ops::function::FnOnce>::call_once::ha031f48633a6af54 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 34: 0x55fbe849389a - std::sys::unix::thread::Thread::new::thread_start::h241864caf436e182 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 35: 0x7f1bc1d6d609 - start_thread [INFO] [stdout] 36: 0x7f1bc1c79103 - __clone [INFO] [stdout] 37: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] pregenerated_up_to_date [INFO] [stdout] self_up_to_date [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--test self_build_up_to_date' [INFO] running `"docker" "inspect" "120d7c618dc5261403e92ffe1bf71140515424368cc971765c92c17e725d91cc"` [INFO] running `"docker" "rm" "-f" "120d7c618dc5261403e92ffe1bf71140515424368cc971765c92c17e725d91cc"` [INFO] [stdout] 120d7c618dc5261403e92ffe1bf71140515424368cc971765c92c17e725d91cc