1.0.89 (older version)
From google/supply-chain copy of chromium. By Liza Burakova.
These reviews are from cargo-vet. To add your review, set up cargo-vet
and submit your URL to its registry.
The current version of Proc-macro2 is 1.0.92.
1.0.89 (older version)
From google/supply-chain copy of chromium. By Liza Burakova.
1.0.87 (older version)
From google/supply-chain copy of chromium. By Dana Jansens.
No new unsafe interactions.
1.0.86 — diff review from 1.0.79 only (older version)
From google/supply-chain copy of chromium. Audited without comment by Hung-Hsien Chen.
1.0.86 (older version)
From google/supply-chain copy of chromium. By Lukasz Anforowicz.
Comment-only changes in build.rs
.
Reordering of Cargo.toml
entries.
Just bumping up the version number in lib.rs
.
Config-related changes in test_size.rs
.
1.0.86 (older version)
From kornelski/crev-proofs copy of salsa.debian.org.
Only in debcargo (unstable). Changelog:
1.0.85 (older version)
From google/supply-chain copy of chromium. By Dana Jansens.
Test-only changes.
1.0.83 (older version)
From google/supply-chain copy of chromium. By Dustin J. Mitchell.
Substantive change is replacing String with Box, saving memory.
1.0.82 — diff review from 1.0.81 only (older version)
From zcash/rust-ecosystem copy of zcash/librustzcash. Audited without comment by Daira Emma Hopwood.
1.0.80 (older version)
From google/supply-chain copy of chromium. Audited without comment by Adrian Taylor.
1.0.79 (older version)
From google/supply-chain copy of chromium. Audited without comment by Ying Hsu.
1.0.79 (older version)
From kornelski/crev-proofs copy of git.savannah.gnu.org.
Packaged for Guix (crates-io)
1.0.74 — diff review from 1.0.71 only (older version)
From zcash/rust-ecosystem copy of zcash/zcash. By str4d.
Build script changes are to replace RUSTFLAGS
string parsing with a probe file
that is compiled with whatever RUSTC
is set to (but the build script already
relies on the RUSTC
environment variable for inspecting the compiler version).
1.0.69 — diff review from 1.0.66 only (older version)
From google/supply-chain copy of chromium. Audited without comment by Daniel Verkamp.
1.0.66 — diff review from 1.0.63 only (older version)
From mozilla/supply-chain copy of mozilla/glean. By Jan-Erik Rediger.
Removed special support for some really old Rust versions
1.0.66 — diff review from 1.0.59 only (older version)
From google/supply-chain copy of chromium. Audited without comment by George Burgess IV.
1.0.63 — diff review from 1.0.59 only (older version)
From bytecodealliance/wasmtime. By Alex Crichton.
This is a routine update for new nightly features and new syntax popping up on nightly, nothing out of the ordinary.
1.0.57 — diff review from 1.0.51 only (older version)
From bytecodealliance/wasmtime. Audited without comment by Pat Hickey.
1.0.54 — diff review from 1.0.52 only (older version)
From divviup/libprio-rs. Audited without comment by Brandon Pitman.
1.0.51 (older version)
From mozilla/supply-chain copy of hg. Audited without comment by Mike Hommey.
1.0.51 — diff review from 1.0.49 only (older version)
From zcash/rust-ecosystem copy of zcash/zcash. Audited without comment by Jack Grigg.
1.0.49 (older version)
From google/supply-chain copy of chromium. Audited without comment by ChromeOS.
1.0.41 — diff review from 1.0.37 only (older version)
From zcash/rust-ecosystem copy of zcash/zcash. Audited without comment by Daira Emma Hopwood.
1.0.39 (older version)
From mozilla/supply-chain copy of hg. By Nika Layzell.
proc-macro2
acts as either a thin(-ish) wrapper around the std-provided
proc_macro
crate, or as a fallback implementation of the crate, depending on
where it is used.
If using this crate on older versions of rustc (1.56 and earlier), it will
temporarily replace the panic handler while initializing in order to detect if
it is running within a proc_macro
, which could lead to surprising behaviour.
This should not be an issue for more recent compiler versions, which support
proc_macro::is_available()
.
The proc-macro2
crate's fallback behaviour is not identical to the complex
behaviour of the rustc compiler (e.g. it does not perform unicode normalization
for identifiers), however it behaves well enough for its intended use-case
(tests and scripts processing rust code).
proc-macro2
does not use unsafe code, however exposes one unsafe
API to
allow bypassing checks in the fallback implementation when constructing
Literal
using from_str_unchecked
. This was intended to only be used by the
quote!
macro, however it has been removed
(https://github.com/dtolnay/quote/commit/f621fe64a8a501cae8e95ebd6848e637bbc79078),
and is likely completely unused. Even when used, this API shouldn't be able to
cause unsoundness.
1.0.29 (older version)
From google/supply-chain copy of chromium. Audited without comment by Chrome OS Toolchain.
1.0.26 (older version)
From google/supply-chain copy of chromium. Audited without comment by Android Legacy.
cargo-vet does not verify reviewers' identity. You have to fully trust the source the audits are from.
This crate will not introduce a serious security vulnerability to production software exposed to untrusted input. More…
This crate can be compiled, run, and tested on a local workstation or in controlled automation without surprising consequences. More…
Inspection reveals that the crate in question does not attempt to implement any cryptographic algorithms on its own.
Note that certification of this does not require an expert on all forms of cryptography: it's expected for crates we import to be "good enough" citizens, so they'll at least be forthcoming if they try to implement something cryptographic. When in doubt, please ask an expert.
All crypto algorithms in this crate have been reviewed by a relevant expert.
Note: If a crate does not implement crypto, use does-not-implement-crypto
,
which implies crypto-safe
, but does not require expert review in order to
audit for.
Negligible unsoundness or average soundness.
Full description of the audit criteria can be found at https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-2
Mild unsoundness or suboptimal soundness.
Full description of the audit criteria can be found at https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-3
Extreme unsoundness.
Full description of the audit criteria can be found at https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-4
May have been packaged automatically without a review
Lib.rs has been able to verify that all files in the crate's tarball, except Cargo.lock
,
are in the crate's repository with a git tag matching the version. Please note that this check is still in beta, and absence of this confirmation does not mean that the files don't match.
Crates in the crates.io registry are tarball snapshots uploaded by crates' publishers. The registry is not using crates' git repositories, so there is a possibility that published crates have a misleading repository URL, or contain different code from the code in the repository.
To review the actual code of the crate, it's best to use cargo crev open proc-macro2
. Alternatively, you can download the tarball of proc-macro2 v1.0.92 or view the source online.
Biggest change is adding error handling in build.rs. Some config related changes in wrapper.rs.