0

Roll cxx: 1.0.124 => 1.0.126 in //third_party/rust.

This CL has been created semi-automatically.  The expected review
process and other details can be found at
//tools/crates/create_update_cl.md

Updated crates:

* cxx: 1.0.124 => 1.0.126
* cxxbridge-flags: 1.0.124 => 1.0.126
* cxxbridge-macro: 1.0.124 => 1.0.126

Chromium `supply-chain/config.toml` policy requires that the following
audit criteria are met (note that these are the *minimum* required
criteria and `supply-chain/audits.toml` can and should record a stricter
certification if possible;  see also //docs/rust-unsafe.md):

* cxx@1.0.126, cxxbridge-flags@1.0.126, cxxbridge-macro@1.0.126:
  crypto-safe, safe-to-deploy, ub-risk-2

Fixed: chromium:359917956
Change-Id: I567ff375a8bd45c2acb86bc720c1c64da2118a72
Cq-Include-Trybots: chromium/try:android-rust-arm32-rel
Cq-Include-Trybots: chromium/try:android-rust-arm64-dbg
Cq-Include-Trybots: chromium/try:android-rust-arm64-rel
Cq-Include-Trybots: chromium/try:linux-rust-x64-dbg
Cq-Include-Trybots: chromium/try:linux-rust-x64-rel
Cq-Include-Trybots: chromium/try:win-rust-x64-dbg
Cq-Include-Trybots: chromium/try:win-rust-x64-rel
Disable-Rts: True
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5789922
Reviewed-by: Adrian Taylor <adetaylor@google.com>
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1342980}
This commit is contained in:
Lukasz Anforowicz
2024-08-16 19:27:03 +00:00
committed by Chromium LUCI CQ
parent 69835abb65
commit f642d4b48c
333 changed files with 843 additions and 832 deletions
build/rust
infra
third_party/rust
chromium_crates_io
Cargo.lock
supply-chain
vendor
cxx-1.0.124
cxx-1.0.126
.bazelignore.bazelrc.buckconfig.buckroot.cargo-checksum.json.cargo_vcs_info.json.clang-format.clang-tidy
.devcontainer
.gitattributes
.github
.gitignore
.vscode
.watchmanconfigBUCKBUILDCargo.tomlCargo.toml.origLICENSE-APACHELICENSE-MITMODULE.bazelMODULE.bazel.lockREADME.md
book
build.rscompile_flags.txt
include
reindeer.tomlrust-toolchain.toml
src
tests
BUCKBUILDcompiletest.rscxx_gen.rscxx_string.rscxx_vector.rstest.rs
ui
array_len_expr.rsarray_len_expr.stderrarray_len_suffix.rsarray_len_suffix.stderrasync_fn.rsasync_fn.stderrbad_explicit_impl.rsbad_explicit_impl.stderrby_value_not_supported.rsby_value_not_supported.stderrconst_fn.rsconst_fn.stderrdata_enums.rsdata_enums.stderrdeny_elided_lifetimes.rsdeny_elided_lifetimes.stderrdeny_missing_docs.rsdeny_missing_docs.stderrderive_duplicate.rsderive_duplicate.stderrderive_noncopy.rsderive_noncopy.stderrdrop_shared.rsdrop_shared.stderrempty_enum.rsempty_enum.stderrempty_struct.rsempty_struct.stderrenum_inconsistent.rsenum_inconsistent.stderrenum_match_without_wildcard.rsenum_match_without_wildcard.stderrenum_out_of_bounds.rsenum_out_of_bounds.stderrenum_overflows.rsenum_overflows.stderrenum_receiver.rsenum_receiver.stderrenum_unsatisfiable.rsenum_unsatisfiable.stderrexpected_named.rsexpected_named.stderrextern_fn_abi.rsextern_fn_abi.stderrextern_type_bound.rsextern_type_bound.stderrextern_type_generic.rsextern_type_generic.stderrextern_type_lifetime_bound.rsextern_type_lifetime_bound.stderrfallible_fnptr.rsfallible_fnptr.stderrfunction_with_body.rsfunction_with_body.stderrgeneric_enum.rsgeneric_enum.stderrimpl_trait_for_type.rsimpl_trait_for_type.stderrinclude.rsinclude.stderrlifetime_extern_cxx.rslifetime_extern_cxx.stderrlifetime_extern_rust.rslifetime_extern_rust.stderrmissing_unsafe.rsmissing_unsafe.stderrmultiple_parse_error.rsmultiple_parse_error.stderrmut_return.rsmut_return.stderrnon_integer_discriminant_enum.rsnon_integer_discriminant_enum.stderrnonempty_impl_block.rsnonempty_impl_block.stderrnonlocal_rust_type.rsnonlocal_rust_type.stderropaque_autotraits.rsopaque_autotraits.stderropaque_not_sized.rsopaque_not_sized.stderrpin_mut_opaque.rspin_mut_opaque.stderrptr_in_fnptr.rsptr_in_fnptr.stderrptr_missing_unsafe.rsptr_missing_unsafe.stderrptr_no_const_mut.rsptr_no_const_mut.stderrptr_unsupported.rsptr_unsupported.stderrraw_ident_namespace.rsraw_ident_namespace.stderrreference_to_reference.rsreference_to_reference.stderrreserved_lifetime.rsreserved_lifetime.stderrreserved_name.rsreserved_name.stderrresult_no_display.rsresult_no_display.stderrroot_namespace.rsroot_namespace.stderrrust_pinned.rsrust_pinned.stderrslice_of_type_alias.rsslice_of_type_alias.stderrslice_unsupported.rsslice_unsupported.stderrstruct_cycle.rsstruct_cycle.stderrtype_alias_rust.rstype_alias_rust.stderrunique_ptr_as_mut.rsunique_ptr_as_mut.stderrunique_ptr_to_opaque.rsunique_ptr_to_opaque.stderrunique_ptr_twice.rsunique_ptr_twice.stderrunnamed_receiver.rsunnamed_receiver.stderrunpin_impl.rsunpin_impl.stderrunrecognized_receiver.rsunrecognized_receiver.stderrunsupported_elided.rsunsupported_elided.stderrvec_opaque.rsvec_opaque.stderrvector_autotraits.rsvector_autotraits.stderrwrong_type_id.rswrong_type_id.stderr
unique_ptr.rs
tools
cxxbridge-flags-1.0.124
cxxbridge-flags-1.0.126
cxxbridge-macro-1.0.124
cxxbridge-macro-1.0.126
vet_config.toml.hbs
cxx
cxxbridge_flags
cxxbridge_macro

@ -21,7 +21,7 @@ if (toolchain_has_rust) {
# The version of cxx under //third_party/rust/chromium_crates_io/vendor.
# Update this whenever cxx is rolled. Also update the version number in the
# //third_party/rust/cxx/v1/cxx.h header.
cxx_version = "1.0.124"
cxx_version = "1.0.126"
# The required dependencies for cxx-generated bindings, that must be included
# on the C++ side.

@ -667,11 +667,11 @@ third_party/rust/chromium_crates_io/vendor/clap_builder-4.5.15/src/parser 1 1
third_party/rust/chromium_crates_io/vendor/codespan-reporting-0.11.1 2 1
third_party/rust/chromium_crates_io/vendor/codespan-reporting-0.11.1/examples 1 1
third_party/rust/chromium_crates_io/vendor/crc32fast-1.4.2/.github/workflows 2 1
third_party/rust/chromium_crates_io/vendor/cxx-1.0.124 1 1
third_party/rust/chromium_crates_io/vendor/cxx-1.0.124/book 1 1
third_party/rust/chromium_crates_io/vendor/cxx-1.0.124/book/src 3 1
third_party/rust/chromium_crates_io/vendor/cxx-1.0.124/.github/workflows 4 3
third_party/rust/chromium_crates_io/vendor/cxx-1.0.124/src 4 1
third_party/rust/chromium_crates_io/vendor/cxx-1.0.126 1 1
third_party/rust/chromium_crates_io/vendor/cxx-1.0.126/book 1 1
third_party/rust/chromium_crates_io/vendor/cxx-1.0.126/book/src 3 1
third_party/rust/chromium_crates_io/vendor/cxx-1.0.126/.github/workflows 4 3
third_party/rust/chromium_crates_io/vendor/cxx-1.0.126/src 4 1
third_party/rust/chromium_crates_io/vendor/either-1.13.0/.github/workflows 1 1
third_party/rust/chromium_crates_io/vendor/flate2-1.0.31 32 1
third_party/rust/chromium_crates_io/vendor/getrandom-0.2.15 5 1

@ -166,7 +166,7 @@ dependencies = [
[[package]]
name = "cxx"
version = "1.0.124"
version = "1.0.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cc",
@ -189,12 +189,12 @@ dependencies = [
[[package]]
name = "cxxbridge-flags"
version = "1.0.124"
version = "1.0.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "cxxbridge-macro"
version = "1.0.124"
version = "1.0.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"proc-macro2",

@ -601,6 +601,11 @@ who = "Dustin J. Mitchell <djmitche@chromium.org>"
criteria = "does-not-implement-crypto"
delta = "1.0.123 -> 1.0.124"
[[audits.cxx]]
who = "Lukasz Anforowicz <lukasza@chromium.org>"
criteria = "does-not-implement-crypto"
delta = "1.0.124 -> 1.0.126"
[[audits.cxxbridge]]
who = "danakj@chromium.org"
criteria = ["safe-to-run", "does-not-implement-crypto"]
@ -712,6 +717,12 @@ criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
delta = "1.0.123 -> 1.0.124"
notes = "No changes in this delta"
[[audits.cxxbridge-flags]]
who = "Lukasz Anforowicz <lukasza@chromium.org>"
criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
delta = "1.0.124 -> 1.0.126"
notes = "No changes in this delta"
[[audits.cxxbridge-macro]]
who = "danakj <danakj@chromium.org>"
criteria = "does-not-implement-crypto"
@ -732,6 +743,11 @@ who = "Dustin J. Mitchell <djmitche@chromium.org>"
criteria = "does-not-implement-crypto"
delta = "1.0.123 -> 1.0.124"
[[audits.cxxbridge-macro]]
who = "Lukasz Anforowicz <lukasza@chromium.org>"
criteria = "does-not-implement-crypto"
delta = "1.0.124 -> 1.0.126"
[[audits.either]]
who = "agl@chromium.org"
criteria = ["safe-to-run", "does-not-implement-crypto"]

@ -92,16 +92,16 @@ criteria = ["crypto-safe", "safe-to-run"]
[policy."crc32fast:1.4.2"]
criteria = ["crypto-safe", "safe-to-deploy", "ub-risk-2"]
[policy."cxx:1.0.124"]
[policy."cxx:1.0.126"]
criteria = ["crypto-safe", "safe-to-deploy", "ub-risk-2"]
[policy."cxxbridge-cmd:1.0.126"]
criteria = ["crypto-safe", "safe-to-run"]
[policy."cxxbridge-flags:1.0.124"]
[policy."cxxbridge-flags:1.0.126"]
criteria = ["crypto-safe", "safe-to-deploy", "ub-risk-2"]
[policy."cxxbridge-macro:1.0.124"]
[policy."cxxbridge-macro:1.0.126"]
criteria = ["crypto-safe", "safe-to-deploy", "ub-risk-2"]
[policy."either:1.13.0"]
@ -330,7 +330,7 @@ criteria = ["crypto-safe", "safe-to-run"]
criteria = ["crypto-safe", "safe-to-run"]
[[exemptions.cxx]]
version = "1.0.124"
version = "1.0.126"
criteria = ["safe-to-deploy", "ub-risk-2"]
notes = """
Grandparented-in when setting up `cargo vet` in Jan 2024
@ -343,10 +343,11 @@ Exemption updated to 1.0.117 in Feb 2024.
Exemption updated to 1.0.122 in May 2024.
Exemption updated to 1.0.123 in June 2024.
Exemption updated to 1.0.124 in June 2024.
Exemption updated to 1.0.126 in August 2024.
"""
[[exemptions.cxxbridge-macro]]
version = "1.0.124"
version = "1.0.126"
criteria = ["safe-to-deploy", "ub-risk-2"]
notes = """
Grandparented-in when setting up `cargo vet` in Jan 2024
@ -359,6 +360,7 @@ Exemption updated to 1.0.117 in Feb 2024.
Exemption updated to 1.0.122 in May 2024.
Exemption updated to 1.0.123 in June 2024.
Exemption updated to 1.0.124 in June 2024.
Exemption updated to 1.0.126 in August 2024.
"""
[[exemptions.memchr]]

@ -1,6 +0,0 @@
{
"git": {
"sha1": "afd4aa3f3d4e5d5e9a3a41d09df3408f5f86a469"
},
"path_in_vcs": ""
}

@ -1,77 +0,0 @@
#![allow(clippy::duplicated_attributes)] // clippy bug: https://github.com/rust-lang/rust-clippy/issues/12538
#[allow(missing_docs)]
pub type c_char = c_char_definition::c_char;
// Validate that our definition is consistent with libstd's definition, without
// introducing a dependency on libstd in ordinary builds.
#[cfg(all(test, feature = "std"))]
const _: self::c_char = 0 as std::os::raw::c_char;
#[cfg(not(no_core_ffi_c_char))]
mod c_char_definition {
pub use core::ffi::c_char;
}
#[cfg(no_core_ffi_c_char)]
#[allow(dead_code)]
mod c_char_definition {
// These are the targets on which c_char is unsigned.
#[cfg(any(
all(
target_os = "linux",
any(
target_arch = "aarch64",
target_arch = "arm",
target_arch = "hexagon",
target_arch = "powerpc",
target_arch = "powerpc64",
target_arch = "s390x",
target_arch = "riscv64",
target_arch = "riscv32"
)
),
all(
target_os = "android",
any(target_arch = "aarch64", target_arch = "arm")
),
all(target_os = "l4re", target_arch = "x86_64"),
all(
target_os = "freebsd",
any(
target_arch = "aarch64",
target_arch = "arm",
target_arch = "powerpc",
target_arch = "powerpc64",
target_arch = "riscv64"
)
),
all(
target_os = "netbsd",
any(target_arch = "aarch64", target_arch = "arm", target_arch = "powerpc")
),
all(target_os = "openbsd", target_arch = "aarch64"),
all(
target_os = "vxworks",
any(
target_arch = "aarch64",
target_arch = "arm",
target_arch = "powerpc64",
target_arch = "powerpc"
)
),
all(target_os = "fuchsia", target_arch = "aarch64")
))]
pub use self::unsigned::c_char;
// On every other target, c_char is signed.
pub use self::signed::*;
mod unsigned {
pub type c_char = u8;
}
mod signed {
pub type c_char = i8;
}
}

@ -0,0 +1,6 @@
{
"git": {
"sha1": "962937501a51c2426a2a136195cd034fbc4a633d"
},
"path_in_vcs": ""
}

@ -25,8 +25,7 @@ jobs:
- rust: nightly
- rust: beta
- rust: stable
- rust: 1.63.0
- rust: 1.64.0
- rust: 1.67.0
- rust: 1.70.0
- rust: 1.74.0
- name: Cargo on macOS
@ -65,7 +64,7 @@ jobs:
shell: bash
- run: cargo run --manifest-path demo/Cargo.toml
- run: cargo test --workspace ${{steps.testsuite.outputs.exclude}}
if: matrix.rust != '1.63.0' && matrix.rust != '1.64.0'
if: matrix.rust != '1.67.0'
- run: cargo check --no-default-features --features alloc
env:
RUSTFLAGS: --cfg compile_error_if_std ${{env.RUSTFLAGS}}

@ -11,9 +11,9 @@
[package]
edition = "2021"
rust-version = "1.63"
rust-version = "1.67"
name = "cxx"
version = "1.0.124"
version = "1.0.126"
authors = ["David Tolnay <dtolnay@gmail.com>"]
build = "build.rs"
links = "cxxbridge1"
@ -97,13 +97,13 @@ name = "unique_ptr"
path = "tests/unique_ptr.rs"
[dependencies.cxxbridge-macro]
version = "=1.0.124"
version = "=1.0.126"
[dependencies.link-cplusplus]
version = "1.0.9"
[dev-dependencies.cxx-build]
version = "=1.0.124"
version = "=1.0.126"
[dev-dependencies.cxx-gen]
version = "0.7"
@ -122,7 +122,7 @@ features = ["diff"]
version = "1.0.83"
[build-dependencies.cxxbridge-flags]
version = "=1.0.124"
version = "=1.0.126"
default-features = false
[features]

@ -1,6 +1,6 @@
[package]
name = "cxx"
version = "1.0.124"
version = "1.0.126"
authors = ["David Tolnay <dtolnay@gmail.com>"]
categories = ["development-tools::ffi", "api-bindings", "no-std"]
description = "Safe interop between Rust and C++"
@ -12,7 +12,7 @@ keywords = ["ffi", "c++"]
license = "MIT OR Apache-2.0"
links = "cxxbridge1"
repository = "https://github.com/dtolnay/cxx"
rust-version = "1.63"
rust-version = "1.67"
[features]
default = ["std", "cxxbridge-flags/default"] # c++11
@ -23,15 +23,15 @@ alloc = []
std = ["alloc"]
[dependencies]
cxxbridge-macro = { version = "=1.0.124", path = "macro" }
cxxbridge-macro = { version = "=1.0.126", path = "macro" }
link-cplusplus = "1.0.9"
[build-dependencies]
cc = "1.0.83"
cxxbridge-flags = { version = "=1.0.124", path = "flags", default-features = false }
cxxbridge-flags = { version = "=1.0.126", path = "flags", default-features = false }
[dev-dependencies]
cxx-build = { version = "=1.0.124", path = "gen/build" }
cxx-build = { version = "=1.0.126", path = "gen/build" }
cxx-gen = { version = "0.7", path = "gen/lib" }
cxx-test-suite = { version = "0", path = "tests/ffi" }
rustversion = "1.0.13"

@ -1,11 +1,11 @@
module(name = "cxx.rs")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_rust", version = "0.46.0")
bazel_dep(name = "rules_rust", version = "0.49.3")
rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
rust.toolchain(
versions = ["1.79.0"],
versions = ["1.80.1"],
)
use_repo(rust, "rust_toolchains")

@ -24,7 +24,7 @@ cxx = "1.0"
cxx-build = "1.0"
```
*Compiler support: requires rustc 1.63+ and c++11 or newer*<br>
*Compiler support: requires rustc 1.67+ and c++11 or newer*<br>
*[Release notes](https://github.com/dtolnay/cxx/releases)*
<br>

@ -23,6 +23,9 @@ public:
Slice(const Slice<T> &) noexcept;
Slice(T *, size_t count) noexcept;
template <typename C>
explicit Slice(C& c) : Slice(c.data(), c.size());
Slice &operator=(Slice<T> &&) noexcept;
Slice &operator=(const Slice<T> &) noexcept
requires std::is_const_v<T>;

@ -33,23 +33,17 @@ fn main() {
println!("cargo:rustc-check-cfg=cfg(compile_error_if_std)");
println!("cargo:rustc-check-cfg=cfg(cxx_experimental_no_alloc)");
println!("cargo:rustc-check-cfg=cfg(error_in_core)");
println!("cargo:rustc-check-cfg=cfg(no_core_ffi_c_char)");
println!("cargo:rustc-check-cfg=cfg(skip_ui_tests)");
}
if rustc.minor < 63 {
println!("cargo:warning=The cxx crate requires a rustc version 1.63.0 or newer.");
if rustc.minor < 67 {
println!("cargo:warning=The cxx crate requires a rustc version 1.67.0 or newer.");
println!(
"cargo:warning=You appear to be building with: {}",
rustc.version,
);
}
if rustc.minor < 64 {
// core::ffi::c_char
println!("cargo:rustc-cfg=no_core_ffi_c_char");
}
if rustc.minor >= 81 {
// core::error::Error
println!("cargo:rustc-cfg=error_in_core");

@ -176,6 +176,9 @@ public:
Slice() noexcept;
Slice(T *, std::size_t count) noexcept;
template <typename C>
explicit Slice(C& c) : Slice(c.data(), c.size()) {}
Slice &operator=(const Slice<T> &) &noexcept = default;
Slice &operator=(Slice<T> &&) &noexcept = default;

@ -18,7 +18,7 @@
//!
//! <br>
//!
//! *Compiler support: requires rustc 1.63+ and c++11 or newer*<br>
//! *Compiler support: requires rustc 1.67+ and c++11 or newer*<br>
//! *[Release notes](https://github.com/dtolnay/cxx/releases)*
//!
//! <br>
@ -364,7 +364,7 @@
//! </table>
#![no_std]
#![doc(html_root_url = "https://docs.rs/cxx/1.0.124")]
#![doc(html_root_url = "https://docs.rs/cxx/1.0.126")]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![deny(
improper_ctypes,
@ -400,6 +400,7 @@
clippy::or_fun_call,
clippy::ptr_arg,
clippy::ptr_as_ptr,
clippy::ptr_cast_constness,
clippy::toplevel_ref_arg,
clippy::transmute_undefined_repr, // clippy bug: https://github.com/rust-lang/rust-clippy/issues/8417
clippy::uninlined_format_args,
@ -448,7 +449,6 @@ compile_error! {
#[macro_use]
mod macros;
mod c_char;
mod cxx_vector;
mod exception;
mod extern_type;
@ -503,7 +503,6 @@ pub type Vector<T> = CxxVector<T>;
// Not public API.
#[doc(hidden)]
pub mod private {
pub use crate::c_char::c_char;
pub use crate::cxx_vector::VectorElement;
pub use crate::extern_type::{verify_extern_kind, verify_extern_type};
pub use crate::function::FatFunction;

Some files were not shown because too many files have changed in this diff Show More