From 43610a3062dac076175627d2860bcc7f95eaf572 Mon Sep 17 00:00:00 2001
From: Adrian Taylor <adetaylor@chromium.org>
Date: Sat, 28 Dec 2024 12:45:02 +0000
Subject: [PATCH 1/2] Fix trybuild version

More recent versions of trybuild do not appear to respect the RUSTFLAGS
we set just before performing the build. This means they fail to find
libautocxx-demo.a and linking fails.
---
 Cargo.lock                   | 113 +++++++----------------------------
 integration-tests/Cargo.toml |   2 +-
 2 files changed, 22 insertions(+), 93 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index e996a086f..c40852d72 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -177,7 +177,7 @@ version = "0.27.0"
 dependencies = [
  "autocxx-engine",
  "env_logger 0.9.3",
- "indexmap 1.9.3",
+ "indexmap",
  "syn 2.0.92",
 ]
 
@@ -200,7 +200,7 @@ dependencies = [
  "autocxx-parser",
  "cc",
  "cxx-gen",
- "indexmap 1.9.3",
+ "indexmap",
  "indoc",
  "itertools 0.10.5",
  "log",
@@ -229,7 +229,7 @@ dependencies = [
  "clap 3.2.25",
  "cxx",
  "env_logger 0.9.3",
- "indexmap 1.9.3",
+ "indexmap",
  "itertools 0.10.5",
  "miette",
  "pathdiff",
@@ -296,7 +296,7 @@ dependencies = [
 name = "autocxx-parser"
 version = "0.27.0"
 dependencies = [
- "indexmap 1.9.3",
+ "indexmap",
  "itertools 0.10.5",
  "log",
  "once_cell",
@@ -317,7 +317,7 @@ dependencies = [
  "autocxx-parser",
  "clap 3.2.25",
  "cxx-gen",
- "indexmap 1.9.3",
+ "indexmap",
  "indoc",
  "itertools 0.10.5",
  "proc-macro2",
@@ -354,6 +354,15 @@ dependencies = [
  "backtrace",
 ]
 
+[[package]]
+name = "basic-toml"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8"
+dependencies = [
+ "serde",
+]
+
 [[package]]
 name = "bitflags"
 version = "1.3.2"
@@ -448,7 +457,7 @@ dependencies = [
  "atty",
  "bitflags 1.3.2",
  "clap_lex 0.2.4",
- "indexmap 1.9.3",
+ "indexmap",
  "once_cell",
  "strsim 0.10.0",
  "termcolor",
@@ -699,12 +708,6 @@ dependencies = [
  "log",
 ]
 
-[[package]]
-name = "equivalent"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-
 [[package]]
 name = "errno"
 version = "0.3.10"
@@ -791,12 +794,6 @@ version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
-[[package]]
-name = "hashbrown"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
-
 [[package]]
 name = "hermit-abi"
 version = "0.1.19"
@@ -848,20 +845,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
 dependencies = [
  "autocfg",
- "hashbrown 0.12.3",
+ "hashbrown",
  "serde",
 ]
 
-[[package]]
-name = "indexmap"
-version = "2.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f"
-dependencies = [
- "equivalent",
- "hashbrown 0.15.2",
-]
-
 [[package]]
 name = "indoc"
 version = "1.0.9"
@@ -1018,7 +1005,7 @@ dependencies = [
  "serde_json",
  "shlex",
  "tempfile",
- "toml 0.5.11",
+ "toml",
  "topological-sort",
 ]
 
@@ -1481,15 +1468,6 @@ dependencies = [
  "serde",
 ]
 
-[[package]]
-name = "serde_spanned"
-version = "0.6.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
-dependencies = [
- "serde",
-]
-
 [[package]]
 name = "sha2"
 version = "0.10.8"
@@ -1590,12 +1568,6 @@ dependencies = [
  "unicode-ident",
 ]
 
-[[package]]
-name = "target-triple"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42a4d50cdb458045afc8131fd91b64904da29548bcb63c7236e0844936c13078"
-
 [[package]]
 name = "tempfile"
 version = "3.14.0"
@@ -1742,40 +1714,6 @@ dependencies = [
  "serde",
 ]
 
-[[package]]
-name = "toml"
-version = "0.8.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
-dependencies = [
- "serde",
- "serde_spanned",
- "toml_datetime",
- "toml_edit",
-]
-
-[[package]]
-name = "toml_datetime"
-version = "0.6.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml_edit"
-version = "0.22.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
-dependencies = [
- "indexmap 2.7.0",
- "serde",
- "serde_spanned",
- "toml_datetime",
- "winnow",
-]
-
 [[package]]
 name = "topological-sort"
 version = "0.2.2"
@@ -1832,17 +1770,17 @@ dependencies = [
 
 [[package]]
 name = "trybuild"
-version = "1.0.101"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dcd332a5496c026f1e14b7f3d2b7bd98e509660c04239c58b0ba38a12daded4"
+checksum = "04366e99ff743345622cd00af2af01d711dc2d1ef59250d7347698d21b546729"
 dependencies = [
+ "basic-toml",
  "glob",
+ "once_cell",
  "serde",
  "serde_derive",
  "serde_json",
- "target-triple",
  "termcolor",
- "toml 0.8.19",
 ]
 
 [[package]]
@@ -2083,12 +2021,3 @@ name = "windows_x86_64_msvc"
 version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
-
-[[package]]
-name = "winnow"
-version = "0.6.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b"
-dependencies = [
- "memchr",
-]
diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml
index d428657a9..d30c1a693 100644
--- a/integration-tests/Cargo.toml
+++ b/integration-tests/Cargo.toml
@@ -20,7 +20,7 @@ categories = ["development-tools::ffi", "api-bindings"]
 
 [dependencies]
 proc-macro2 = "1.0.11"
-trybuild = "1.0.53"
+trybuild = "=1.0.81"
 test-log = "0.2.2"
 env_logger = "0.9.0"
 rust_info = "0.3.1"

From cf950d67ebf6acd65dcf29ce721ed3c3d4a63f5d Mon Sep 17 00:00:00 2001
From: Adrian Taylor <adetaylor@chromium.org>
Date: Sat, 28 Dec 2024 12:55:13 +0000
Subject: [PATCH 2/2] Add comment.

---
 integration-tests/Cargo.toml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml
index d30c1a693..c9e21e0ff 100644
--- a/integration-tests/Cargo.toml
+++ b/integration-tests/Cargo.toml
@@ -20,6 +20,9 @@ categories = ["development-tools::ffi", "api-bindings"]
 
 [dependencies]
 proc-macro2 = "1.0.11"
+# More recent versions of trybuild don't work due to
+# https://github.com/dtolnay/trybuild/issues/283
+# There are some workarounds suggested there if needs be.
 trybuild = "=1.0.81"
 test-log = "0.2.2"
 env_logger = "0.9.0"