---
source: tests/test-cli.rs
expression: format_outputs(&output)
---
stdout:
recommended audits for safe-to-deploy:
    Command                                               Publisher      Used By                                              Audit Size
    cargo vet diff proc-macro2 1.0.37 1.0.37@git:4445659b0f753a928059244c875a58bb12f791e9
                                                          UNKNOWN        test-project                                         3 files changed, 63 insertions(+), 7 deletions(-)
    cargo vet inspect tinyvec_macros 0.1.0                Soveu          tinyvec                                              81 lines
    cargo vet inspect matches 0.1.9                       SimonSapin     url, idna, and form_urlencoded                       210 lines
    cargo vet inspect foreign-types-shared 0.1.1          UNKNOWN        foreign-types                                        302 lines
    cargo vet inspect try-lock 0.2.3                      seanmonstar    want                                                 380 lines
    cargo vet inspect openssl-probe 0.1.5                 alexcrichton   native-tls                                           442 lines
    cargo vet inspect tower-service 0.3.1                 davidpdrsn     hyper                                                501 lines
      NOTE: this project trusts Eliza Weisman (hawkw), who published another version of this crate - consider cargo vet trust tower-service hawkw
    cargo vet inspect wasm-bindgen-shared 0.2.80          alexcrichton   wasm-bindgen-backend and wasm-bindgen-macro-support  515 lines
    cargo vet inspect pin-utils 0.1.0                     cramertj       futures-util                                         538 lines
    cargo vet inspect futures-sink 0.3.21                 taiki-e        h2 and tokio-util                                    544 lines
    cargo vet inspect cfg-if 0.1.10                       alexcrichton   log, instant, openssl, and 6 others                  579 lines
    cargo vet inspect foreign-types 0.3.2                 UNKNOWN        openssl                                              583 lines
    cargo vet inspect remove_dir_all 0.5.3                XAMPPRocky     tempfile                                             592 lines
    cargo vet inspect instant 0.1.12                      sebcrozet      fastrand                                             672 lines
    cargo vet inspect hyper-tls 0.5.0                     seanmonstar    reqwest                                              673 lines
    cargo vet inspect form_urlencoded 1.0.1               Manishearth    url and serde_urlencoded                             689 lines
    cargo vet inspect want 0.3.0                          seanmonstar    hyper                                                697 lines
    cargo vet inspect percent-encoding 2.1.0              SimonSapin     url, reqwest, and form_urlencoded                    702 lines
    cargo vet inspect fnv 1.0.7                           Manishearth    h2 and http                                          730 lines
    cargo vet inspect itoa 1.0.1                          dtolnay        http, hyper, serde_json, and 1 other                 789 lines
    cargo vet inspect lazy_static 1.4.0                   KodrAus        reqwest, schannel, and 3 others                      876 lines
    cargo vet inspect httpdate 1.0.2                      pyfisch        hyper                                                995 lines
    cargo vet inspect tokio-native-tls 0.3.0              LucioFranco    reqwest and hyper-tls                                1089 lines
    cargo vet inspect winapi-util 0.1.5                   BurntSushi     termcolor                                            1095 lines
    cargo vet inspect winapi-i686-pc-windows-gnu 0.4.0    UNKNOWN        winapi                                               1132 lines
    cargo vet inspect winapi-x86_64-pc-windows-gnu 0.4.0  UNKNOWN        winapi                                               1167 lines
    cargo vet inspect futures-core 0.3.21                 taiki-e        h2, hyper, reqwest, and 3 others                     1175 lines
    cargo vet inspect futures-task 0.3.21                 taiki-e        futures-util                                         1180 lines
    cargo vet inspect http-body 0.4.4                     LucioFranco    hyper and reqwest                                    1256 lines
    cargo vet inspect wasm-bindgen-macro 0.2.80           alexcrichton   wasm-bindgen                                         1274 lines
    cargo vet inspect wasm-bindgen-futures 0.4.30         alexcrichton   reqwest                                              1303 lines
    cargo vet inspect fastrand 1.7.0                      taiki-e        tempfile                                             1368 lines
    cargo vet inspect mime 0.3.16                         seanmonstar    reqwest                                              1715 lines
    cargo vet inspect pkg-config 0.3.25                   sdroege        openssl-sys                                          1747 lines
    cargo vet inspect core-foundation-sys 0.8.3           jdm            core-foundation and 2 others                         1965 lines
    cargo vet inspect wasm-bindgen-macro-support 0.2.80   alexcrichton   wasm-bindgen-macro                                   1965 lines
    cargo vet inspect security-framework-sys 2.6.1        kornelski      native-tls and security-framework                    2016 lines
    cargo vet inspect unicode-xid 0.2.2                   Manishearth    syn and proc-macro2                                  2044 lines
    cargo vet inspect serde_urlencoded 0.7.1              nox            reqwest                                              2120 lines
    cargo vet inspect termcolor 1.1.3                     BurntSushi     clap                                                 2578 lines
    cargo vet inspect slab 0.4.6                          taiki-e        h2                                                   2615 lines
    cargo vet inspect os_str_bytes 6.0.0                  dylni          clap                                                 2911 lines
    cargo vet inspect wasm-bindgen-backend 0.2.80         alexcrichton   wasm-bindgen-macro-support                           3018 lines
    cargo vet inspect miow 0.3.7                          faern          mio                                                  3129 lines
    cargo vet inspect unicode-bidi 0.3.7                  mbrubeck       idna                                                 3217 lines
    cargo vet inspect wasi 0.11.0+wasi-snapshot-preview1  alexcrichton   mio                                                  3302 lines
    cargo vet inspect native-tls 0.2.10                   sfackler       reqwest, hyper-tls, and tokio-native-tls             3715 lines
    cargo vet inspect once_cell 1.10.0                    matklad        openssl                                              3766 lines
    cargo vet inspect quote 1.0.18                        dtolnay        syn, tracing-attributes, and 3 others                3838 lines
    cargo vet inspect redox_syscall 0.2.13                jackpot51      tempfile                                             3890 lines
    cargo vet inspect winreg 0.10.1                       gentoo90       reqwest                                              3920 lines
    cargo vet inspect core-foundation 0.9.3               jrmuizel       security-framework                                   3953 lines
    cargo vet inspect tracing-attributes 0.1.20           hawkw          tracing                                              3957 lines
      NOTE: this project trusts Eliza Weisman (hawkw) - consider cargo vet trust tracing-attributes or cargo vet trust --all hawkw
    cargo vet inspect ipnet 2.4.0                         krisprice      reqwest                                              3973 lines
    cargo vet inspect futures-channel 0.3.21              taiki-e        hyper                                                3992 lines
    cargo vet inspect tempfile 3.3.0                      Stebalien      native-tls                                           4059 lines
    cargo vet inspect ryu 1.0.9                           dtolnay        serde_json and serde_urlencoded                      4362 lines
    cargo vet inspect schannel 0.1.19                     steffengy      native-tls                                           4601 lines
    cargo vet inspect textwrap 0.15.0                     mgeisler       clap                                                 5196 lines
    cargo vet inspect log 0.4.16                          KodrAus        mio, want, reqwest, native-tls, and 1 other          5625 lines
    cargo vet inspect proc-macro2 1.0.37                  dtolnay        syn, quote, test-project, and 3 others               5695 lines
    cargo vet inspect socket2 0.4.4                       Thomasdezeeuw  hyper and tokio                                      6011 lines
    cargo vet inspect pin-project-lite 0.2.8              taiki-e        hyper, tokio, reqwest, and 4 others                  6100 lines
    cargo vet inspect tracing-core 0.1.25                 hawkw          tracing                                              6156 lines
      NOTE: this project trusts Eliza Weisman (hawkw) - consider cargo vet trust tracing-core or cargo vet trust --all hawkw
    cargo vet inspect cc 1.0.73                           alexcrichton   openssl-sys                                          6554 lines
    cargo vet inspect httparse 1.7.0                      seanmonstar    hyper                                                7258 lines
    cargo vet inspect memchr 2.4.1                        BurntSushi     tokio and os_str_bytes                               8712 lines
    cargo vet inspect bytes 1.1.0                         Darksonn       h2, http, hyper, tokio, and 4 others                 9207 lines
    cargo vet inspect security-framework 2.6.1            kornelski      native-tls                                           9316 lines
    cargo vet inspect indexmap 1.8.1                      cuviper        h2 and clap                                          9445 lines
    cargo vet inspect openssl-sys 0.9.72                  sfackler       openssl and native-tls                               9477 lines
    cargo vet inspect bumpalo 3.9.1                       fitzgen        wasm-bindgen-backend                                 10099 lines
    cargo vet inspect mio 0.8.2                           Thomasdezeeuw  tokio                                                11719 lines
    cargo vet inspect js-sys 0.3.57                       alexcrichton   reqwest, web-sys, and 1 other                        12874 lines
    cargo vet inspect tokio-util 0.7.1                    Darksonn       h2                                                   13870 lines
      NOTE: this project trusts Eliza Weisman (hawkw), who published another version of this crate - consider cargo vet trust tokio-util hawkw
    cargo vet inspect hashbrown 0.11.2                    Amanieu        indexmap                                             14603 lines
    cargo vet inspect url 2.2.2                           valenting      reqwest                                              16344 lines
    cargo vet inspect tinyvec 1.5.1                       Lokathor       unicode-normalization                                16751 lines
    cargo vet inspect http 0.2.6                          seanmonstar    h2, hyper, reqwest, and http-body                    16819 lines
    cargo vet inspect reqwest 0.11.10                     seanmonstar    test-project                                         19797 lines
    cargo vet inspect wasm-bindgen 0.2.80                 alexcrichton   js-sys, reqwest, web-sys, and 1 other                20977 lines
    cargo vet inspect ntapi 0.3.7                         MSxDOS         mio                                                  21227 lines
    cargo vet inspect serde_json 1.0.79                   dtolnay        reqwest and test-project                             22848 lines
    cargo vet inspect hyper 0.14.18                       seanmonstar    reqwest and hyper-tls                                24841 lines
    cargo vet inspect futures-util 0.3.21                 taiki-e        h2, hyper, and reqwest                               25067 lines
    cargo vet inspect h2 0.3.13                           seanmonstar    hyper and reqwest                                    25417 lines
    cargo vet inspect openssl 0.10.38                     sfackler       native-tls                                           28435 lines
    cargo vet diff syn 1.0.0 1.0.91                       dtolnay        tracing-attributes and 2 others                      92 files changed, 21772 insertions(+), 6698 deletions(-)
    cargo vet inspect unicode-normalization 0.1.19        Manishearth    idna                                                 28622 lines
    cargo vet inspect idna 0.2.3                          SimonSapin     url                                                  32532 lines
    cargo vet inspect vcpkg 0.2.15                        waych          openssl-sys                                          42642 lines
    cargo vet inspect tokio 1.17.0                        hawkw          h2, hyper, reqwest, hyper-tls, and 3 others          91271 lines
      NOTE: this project trusts Eliza Weisman (hawkw) - consider cargo vet trust tokio hawkw
    cargo vet inspect libc 0.2.123                        Amanieu        mio, atty, tokio, openssl, and 8 others              94060 lines
    cargo vet inspect winapi 0.3.9                        retep998       mio, atty, miow, ntapi, tokio, and 6 others          181323 lines
    cargo vet inspect web-sys 0.3.57                      alexcrichton   reqwest and wasm-bindgen-futures                     197013 lines
    cargo vet inspect encoding_rs 0.8.31                  hsivonen       reqwest                                              507245 lines

recommended audits for safe-to-run:
    Command                              Publisher  Used By  Audit Size
    cargo vet inspect hermit-abi 0.1.19  stlankes   atty     932 lines

estimated audit backlog: 1707117 lines

Use |cargo vet certify| to record the audits.

stderr:

