From cfe8f35e88faae806991e79d214975a8309f4ea1 Mon Sep 17 00:00:00 2001
From: Herman Venter <herman_venter@msn.com>
Date: Sat, 4 Jan 2025 11:20:12 -0800
Subject: [PATCH] nightly-2025-01-04 (#29)

---
 Cargo.lock                                    |  21 +++++++++---------
 binaries/summary_store.tar                    | Bin 3648000 -> 3669504 bytes
 checker/tests/call_graph/fnptr.rs             |   2 +-
 checker/tests/call_graph/fnptr_clean.rs       |   2 +-
 checker/tests/call_graph/fnptr_deduplicate.rs |   2 +-
 checker/tests/call_graph/fnptr_dom.rs         |   2 +-
 checker/tests/call_graph/fnptr_dom_loop.rs    |   2 +-
 .../call_graph/fnptr_dom_loop_souffle.rs      |   2 +-
 checker/tests/call_graph/fnptr_fold.rs        |   4 ++--
 checker/tests/call_graph/fnptr_loop.rs        |   2 +-
 checker/tests/call_graph/fnptr_slice.rs       |   2 +-
 checker/tests/call_graph/generic.rs           |   2 +-
 .../tests/call_graph/static_deduplicate.rs    |   6 ++---
 checker/tests/call_graph/static_fold.rs       |   2 +-
 checker/tests/call_graph/trait.rs             |   2 +-
 .../untrustworthy_inputs/src/lib.rs           |   6 ++---
 rust-toolchain.toml                           |   2 +-
 17 files changed, 31 insertions(+), 30 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index b3efcced..18932cf8 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -99,7 +99,7 @@ dependencies = [
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.93",
+ "syn 2.0.94",
 ]
 
 [[package]]
@@ -154,9 +154,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.2.6"
+version = "1.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d6dbb628b8f8555f86d0323c2eb39e3ec81901f4b83e091db8a6a76d316a333"
+checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7"
 dependencies = [
  "shlex",
 ]
@@ -872,7 +872,7 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.93",
+ "syn 2.0.94",
 ]
 
 [[package]]
@@ -958,9 +958,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.93"
+version = "2.0.94"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c786062daee0d6db1132800e623df74274a0a87322d8e183338e01b3d98d058"
+checksum = "987bc0be1cdea8b10216bd06e2ca407d40b9543468fafd3ddfb02f36e77f71f3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -994,12 +994,13 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.14.0"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c"
+checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704"
 dependencies = [
  "cfg-if",
  "fastrand",
+ "getrandom",
  "once_cell",
  "rustix",
  "windows-sys",
@@ -1022,7 +1023,7 @@ checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.93",
+ "syn 2.0.94",
 ]
 
 [[package]]
@@ -1238,5 +1239,5 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.93",
+ "syn 2.0.94",
 ]
diff --git a/binaries/summary_store.tar b/binaries/summary_store.tar
index 1687125b2dbde173a8b8fe3cf8163748fff094f8..c53d7fc735bd22e5a385d737aa05a7f6c63c7cde 100644
GIT binary patch
delta 9366
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

delta 6785
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

diff --git a/checker/tests/call_graph/fnptr.rs b/checker/tests/call_graph/fnptr.rs
index a3f471f9..867b7c2f 100644
--- a/checker/tests/call_graph/fnptr.rs
+++ b/checker/tests/call_graph/fnptr.rs
@@ -69,7 +69,7 @@ commit;
   ],
   "callables": [
     {
-      "name": "/fnptr/fn1(u32,&'^0.Named(DefId(0:7 ~ fnptr[129f]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
+      "name": "/fnptr/fn1(u32,&'^0.Named(DefId(0:7 ~ fnptr[a556]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
       "file_index": 0,
       "first_line": 9,
       "local": true
diff --git a/checker/tests/call_graph/fnptr_clean.rs b/checker/tests/call_graph/fnptr_clean.rs
index 4efa3b21..8f08a8dc 100644
--- a/checker/tests/call_graph/fnptr_clean.rs
+++ b/checker/tests/call_graph/fnptr_clean.rs
@@ -74,7 +74,7 @@ commit;
   ],
   "callables": [
     {
-      "name": "/fnptr_clean/fn1(u32,&'^0.Named(DefId(0:8 ~ fnptr_clean[6fb3]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
+      "name": "/fnptr_clean/fn1(u32,&'^0.Named(DefId(0:8 ~ fnptr_clean[4676]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
       "file_index": 0,
       "first_line": 14,
       "local": true
diff --git a/checker/tests/call_graph/fnptr_deduplicate.rs b/checker/tests/call_graph/fnptr_deduplicate.rs
index 9b0cd02b..3675b627 100644
--- a/checker/tests/call_graph/fnptr_deduplicate.rs
+++ b/checker/tests/call_graph/fnptr_deduplicate.rs
@@ -66,7 +66,7 @@ commit;
   ],
   "callables": [
     {
-      "name": "/fnptr_deduplicate/fn1(u32,&'^0.Named(DefId(0:7 ~ fnptr_deduplicate[2e12]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
+      "name": "/fnptr_deduplicate/fn1(u32,&'^0.Named(DefId(0:7 ~ fnptr_deduplicate[474a]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
       "file_index": 0,
       "first_line": 10,
       "local": true
diff --git a/checker/tests/call_graph/fnptr_dom.rs b/checker/tests/call_graph/fnptr_dom.rs
index 8828d54f..e7147818 100644
--- a/checker/tests/call_graph/fnptr_dom.rs
+++ b/checker/tests/call_graph/fnptr_dom.rs
@@ -71,7 +71,7 @@ commit;
   ],
   "callables": [
     {
-      "name": "/fnptr_dom/fn1(u32,&'^0.Named(DefId(0:7 ~ fnptr_dom[a141]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] },&'^1.Named(DefId(0:8 ~ fnptr_dom[a141]::fn1::'_#1), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
+      "name": "/fnptr_dom/fn1(u32,&'^0.Named(DefId(0:7 ~ fnptr_dom[8f67]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] },&'^1.Named(DefId(0:8 ~ fnptr_dom[8f67]::fn1::'_#1), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
       "file_index": 0,
       "first_line": 9,
       "local": true
diff --git a/checker/tests/call_graph/fnptr_dom_loop.rs b/checker/tests/call_graph/fnptr_dom_loop.rs
index 3ea9b724..b6acda94 100644
--- a/checker/tests/call_graph/fnptr_dom_loop.rs
+++ b/checker/tests/call_graph/fnptr_dom_loop.rs
@@ -85,7 +85,7 @@ commit;
   ],
   "callables": [
     {
-      "name": "/fnptr_dom_loop/fn1(u32,&'^0.Named(DefId(0:8 ~ fnptr_dom_loop[088e]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] },&'^1.Named(DefId(0:9 ~ fnptr_dom_loop[088e]::fn1::'_#1), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
+      "name": "/fnptr_dom_loop/fn1(u32,&'^0.Named(DefId(0:8 ~ fnptr_dom_loop[e86c]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] },&'^1.Named(DefId(0:9 ~ fnptr_dom_loop[e86c]::fn1::'_#1), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
       "file_index": 0,
       "first_line": 9,
       "local": true
diff --git a/checker/tests/call_graph/fnptr_dom_loop_souffle.rs b/checker/tests/call_graph/fnptr_dom_loop_souffle.rs
index 63aec0fc..0469c98e 100644
--- a/checker/tests/call_graph/fnptr_dom_loop_souffle.rs
+++ b/checker/tests/call_graph/fnptr_dom_loop_souffle.rs
@@ -82,7 +82,7 @@ digraph {
   ],
   "callables": [
     {
-      "name": "/fnptr_dom_loop_souffle/fn1(u32,&'^0.Named(DefId(0:8 ~ fnptr_dom_loop_souffle[2ce5]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] },&'^1.Named(DefId(0:9 ~ fnptr_dom_loop_souffle[2ce5]::fn1::'_#1), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
+      "name": "/fnptr_dom_loop_souffle/fn1(u32,&'^0.Named(DefId(0:8 ~ fnptr_dom_loop_souffle[58a0]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] },&'^1.Named(DefId(0:9 ~ fnptr_dom_loop_souffle[58a0]::fn1::'_#1), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
       "file_index": 0,
       "first_line": 10,
       "local": true
diff --git a/checker/tests/call_graph/fnptr_fold.rs b/checker/tests/call_graph/fnptr_fold.rs
index 4262239b..fc4a4f6a 100644
--- a/checker/tests/call_graph/fnptr_fold.rs
+++ b/checker/tests/call_graph/fnptr_fold.rs
@@ -73,7 +73,7 @@ commit;
   ],
   "callables": [
     {
-      "name": "/fnptr_fold/fn1(u32,&'^0.Named(DefId(0:7 ~ fnptr_fold[40a0]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
+      "name": "/fnptr_fold/fn1(u32,&'^0.Named(DefId(0:7 ~ fnptr_fold[7374]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
       "file_index": 0,
       "first_line": 10,
       "local": true
@@ -97,7 +97,7 @@ commit;
       "local": true
     },
     {
-      "name": "/std/std::io::_print(std::fmt::Arguments<'^0.Named(DefId(1:14032 ~ std[82fa]::io::stdio::_print::'_), \"'_\")>)->()",
+      "name": "/std/std::io::_print(std::fmt::Arguments<'^0.Named(DefId(1:14073 ~ std[59c8]::io::stdio::_print::'_), \"'_\")>)->()",
       "file_index": 1,
       "first_line": 1232,
       "local": false
diff --git a/checker/tests/call_graph/fnptr_loop.rs b/checker/tests/call_graph/fnptr_loop.rs
index a1afc18c..1c5a9c4f 100644
--- a/checker/tests/call_graph/fnptr_loop.rs
+++ b/checker/tests/call_graph/fnptr_loop.rs
@@ -82,7 +82,7 @@ commit;
       "local": true
     },
     {
-      "name": "/fnptr_loop/fn2(u32,&'^0.Named(DefId(0:7 ~ fnptr_loop[d246]::fn2::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
+      "name": "/fnptr_loop/fn2(u32,&'^0.Named(DefId(0:7 ~ fnptr_loop[477a]::fn2::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
       "file_index": 0,
       "first_line": 12,
       "local": true
diff --git a/checker/tests/call_graph/fnptr_slice.rs b/checker/tests/call_graph/fnptr_slice.rs
index d1f16097..14dd00b8 100644
--- a/checker/tests/call_graph/fnptr_slice.rs
+++ b/checker/tests/call_graph/fnptr_slice.rs
@@ -62,7 +62,7 @@ commit;
   ],
   "callables": [
     {
-      "name": "/fnptr_slice/fn1(u32,&'^0.Named(DefId(0:7 ~ fnptr_slice[7299]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
+      "name": "/fnptr_slice/fn1(u32,&'^0.Named(DefId(0:7 ~ fnptr_slice[19df]::fn1::'_), \"'_\") Binder { value: fn(u32) -> u32, bound_vars: [] })->u32",
       "file_index": 0,
       "first_line": 10,
       "local": true
diff --git a/checker/tests/call_graph/generic.rs b/checker/tests/call_graph/generic.rs
index db89b117..46904a2b 100644
--- a/checker/tests/call_graph/generic.rs
+++ b/checker/tests/call_graph/generic.rs
@@ -74,7 +74,7 @@ commit;
       "local": true
     },
     {
-      "name": "/generic/Gen::<T>::bar(&'^0.Named(DefId(0:12 ~ generic[9900]::{impl#0}::bar::'_), \"'_\") Gen<T/#0>,T/#0)->()",
+      "name": "/generic/Gen::<T>::bar(&'^0.Named(DefId(0:12 ~ generic[646b]::{impl#0}::bar::'_), \"'_\") Gen<T/#0>,T/#0)->()",
       "file_index": 0,
       "first_line": 14,
       "local": true
diff --git a/checker/tests/call_graph/static_deduplicate.rs b/checker/tests/call_graph/static_deduplicate.rs
index 2cdecb5c..b240ba95 100644
--- a/checker/tests/call_graph/static_deduplicate.rs
+++ b/checker/tests/call_graph/static_deduplicate.rs
@@ -66,19 +66,19 @@ commit;
   ],
   "callables": [
     {
-      "name": "/static_deduplicate/fn1(u32,&'^0.Named(DefId(0:7 ~ static_deduplicate[eaa9]::fn1::'_), \"'_\") str)->(u32, &'^0.Named(DefId(0:7 ~ static_deduplicate[eaa9]::fn1::'_), \"'_\") str)",
+      "name": "/static_deduplicate/fn1(u32,&'^0.Named(DefId(0:7 ~ static_deduplicate[6f0c]::fn1::'_), \"'_\") str)->(u32, &'^0.Named(DefId(0:7 ~ static_deduplicate[6f0c]::fn1::'_), \"'_\") str)",
       "file_index": 0,
       "first_line": 10,
       "local": true
     },
     {
-      "name": "/static_deduplicate/fn2(u32,&'^0.Named(DefId(0:8 ~ static_deduplicate[eaa9]::fn2::'_), \"'_\") str)->(u32, &'^0.Named(DefId(0:8 ~ static_deduplicate[eaa9]::fn2::'_), \"'_\") str)",
+      "name": "/static_deduplicate/fn2(u32,&'^0.Named(DefId(0:8 ~ static_deduplicate[6f0c]::fn2::'_), \"'_\") str)->(u32, &'^0.Named(DefId(0:8 ~ static_deduplicate[6f0c]::fn2::'_), \"'_\") str)",
       "file_index": 0,
       "first_line": 13,
       "local": true
     },
     {
-      "name": "/static_deduplicate/fn3(u32,&'^0.Named(DefId(0:9 ~ static_deduplicate[eaa9]::fn3::'_), \"'_\") str)->(u32, &'^0.Named(DefId(0:9 ~ static_deduplicate[eaa9]::fn3::'_), \"'_\") str)",
+      "name": "/static_deduplicate/fn3(u32,&'^0.Named(DefId(0:9 ~ static_deduplicate[6f0c]::fn3::'_), \"'_\") str)->(u32, &'^0.Named(DefId(0:9 ~ static_deduplicate[6f0c]::fn3::'_), \"'_\") str)",
       "file_index": 0,
       "first_line": 16,
       "local": true
diff --git a/checker/tests/call_graph/static_fold.rs b/checker/tests/call_graph/static_fold.rs
index 4f1ca901..bc8d41fb 100644
--- a/checker/tests/call_graph/static_fold.rs
+++ b/checker/tests/call_graph/static_fold.rs
@@ -93,7 +93,7 @@ commit;
       "local": true
     },
     {
-      "name": "/std/std::io::_print(std::fmt::Arguments<'^0.Named(DefId(1:14032 ~ std[82fa]::io::stdio::_print::'_), \"'_\")>)->()",
+      "name": "/std/std::io::_print(std::fmt::Arguments<'^0.Named(DefId(1:14073 ~ std[59c8]::io::stdio::_print::'_), \"'_\")>)->()",
       "file_index": 1,
       "first_line": 1232,
       "local": false
diff --git a/checker/tests/call_graph/trait.rs b/checker/tests/call_graph/trait.rs
index 132aef54..2b2ab21d 100644
--- a/checker/tests/call_graph/trait.rs
+++ b/checker/tests/call_graph/trait.rs
@@ -74,7 +74,7 @@ commit;
       "local": true
     },
     {
-      "name": "/trait/<Bar as Tr>::bar(&'^0.Named(DefId(0:13 ~ trait[ad32]::{impl#0}::bar::'_), \"'_\") Bar)->i32",
+      "name": "/trait/<Bar as Tr>::bar(&'^0.Named(DefId(0:13 ~ trait[03a6]::{impl#0}::bar::'_), \"'_\") Bar)->i32",
       "file_index": 0,
       "first_line": 14,
       "local": true
diff --git a/examples/tag_analysis/untrustworthy_inputs/src/lib.rs b/examples/tag_analysis/untrustworthy_inputs/src/lib.rs
index 4d41700c..f51631c6 100644
--- a/examples/tag_analysis/untrustworthy_inputs/src/lib.rs
+++ b/examples/tag_analysis/untrustworthy_inputs/src/lib.rs
@@ -52,9 +52,9 @@ impl PublicKey {
         } else {
             let key = PublicKey(
                 u32::from(bytes[0])
-                    | u32::from(bytes[1]) << 8
-                    | u32::from(bytes[2]) << 16
-                    | u32::from(bytes[3]) << 24,
+                    | (u32::from(bytes[1]) << 8)
+                    | (u32::from(bytes[2]) << 16)
+                    | (u32::from(bytes[3]) << 24),
             );
             add_tag!(&key, Tainted);
             Ok(key)
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index c27b9fbc..f0d6c19d 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,3 +1,3 @@
 [toolchain]
-channel = "nightly-2024-12-26"
+channel = "nightly-2025-01-04"
 components = ["clippy", "rustfmt", "rustc-dev", "rust-src", "rust-std", "llvm-tools-preview"]