Rust: Test unpacking the Wrapping number.

This commit is contained in:
Geoffrey White
2026-01-21 12:09:29 +00:00
parent ff6e598f72
commit 1d461ff5ad
2 changed files with 4 additions and 2 deletions

View File

@@ -52,3 +52,4 @@
| main.rs:197:9:197:9 | [post] a [implicit borrow] | main.rs:197:9:197:9 | [post] a |
| main.rs:198:9:198:9 | [post] a [implicit borrow] | main.rs:198:9:198:9 | [SSA] a |
| main.rs:199:9:199:9 | [post] a [implicit borrow] | main.rs:199:9:199:9 | [SSA] a |
| main.rs:201:21:201:21 | a | main.rs:201:21:201:23 | a.0 |

View File

@@ -192,12 +192,13 @@ mod wrapping {
}
pub fn wrapping() {
let mut a: Wrapping<i64> = Wrapping(1);
let mut a: Wrapping<i64> = Wrapping(crate::source(1));
a.add_assign(source(2));
a.add_assign(Wrapping(crate::source(3)));
a += source(4);
a += std::num::Wrapping(crate::source(5));
sink(a); // $ hasTaintFlow=2 hasTaintFlow=4 MISSING: hasTaintFlow=3 hasTaintFlow=5 --- we don't currently find any `Call`s for `Wrapping` above
sink(a); // $ hasTaintFlow=2 hasTaintFlow=4 MISSING: hasTaintFlow=1 hasTaintFlow=3 hasTaintFlow=5
crate::sink(a.0); // $ MISSING: hasTaintFlow=1 hasTaintFlow=2 hasTaintFlow=3 hasTaintFlow=4 hasTaintFlow=5
}
}