Skip to content

Commit 91d273a

Browse files
committed
Rust: I think these generated models are correct. Accept them.
1 parent 98690f9 commit 91d273a

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed
Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,2 @@
11
unexpectedModel
2-
| Unexpected sink found: repo::test;<crate::option::MyOption>::replace;Argument[self];pointer-access;df-generated |
3-
| Unexpected sink found: repo::test;<crate::option::MyOption>::take;Argument[self];pointer-access;df-generated |
4-
| Unexpected sink found: repo::test;<crate::option::MyOption>::take_if;Argument[self];pointer-access;df-generated |
5-
| Unexpected sink found: repo::test;crate::option::replace;Argument[0];pointer-access;df-generated |
62
expectedModel

rust/ql/test/utils-tests/modelgenerator/option.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use core::{hint, mem};
1010

1111
// summary=repo::test;crate::option::replace;Argument[0].Reference;ReturnValue;value;dfc-generated
1212
// summary=repo::test;crate::option::replace;Argument[1];Argument[0].Reference;value;dfc-generated
13+
// sink=repo::test;crate::option::replace;Argument[0];pointer-access;df-generated
1314
pub fn replace<T>(dest: &mut T, src: T) -> T {
1415
unsafe {
1516
let result = ptr::read(dest);
@@ -338,13 +339,15 @@ impl<T> MyOption<T> {
338339
}
339340

340341
// summary=repo::test;<crate::option::MyOption>::take;Argument[self].Reference;ReturnValue;value;dfc-generated
342+
// sink=repo::test;<crate::option::MyOption>::take;Argument[self];pointer-access;df-generated
341343
pub fn take(&mut self) -> MyOption<T> {
342344
// FIXME(const-hack) replace `mem::replace` by `mem::take` when the latter is const ready
343345
replace(self, MyNone)
344346
}
345347

346348
// summary=repo::test;<crate::option::MyOption>::take_if;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];Argument[0].Parameter[0].Reference;value;dfc-generated
347349
// summary=repo::test;<crate::option::MyOption>::take_if;Argument[self].Reference;ReturnValue;value;dfc-generated
350+
// sink=repo::test;<crate::option::MyOption>::take_if;Argument[self];pointer-access;df-generated
348351
pub fn take_if<P>(&mut self, predicate: P) -> MyOption<T>
349352
where
350353
P: FnOnce(&mut T) -> bool,
@@ -358,6 +361,7 @@ impl<T> MyOption<T> {
358361

359362
// summary=repo::test;<crate::option::MyOption>::replace;Argument[0];Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];value;dfc-generated
360363
// summary=repo::test;<crate::option::MyOption>::replace;Argument[self].Reference;ReturnValue;value;dfc-generated
364+
// sink=repo::test;<crate::option::MyOption>::replace;Argument[self];pointer-access;df-generated
361365
pub fn replace(&mut self, value: T) -> MyOption<T> {
362366
replace(self, MySome(value))
363367
}

0 commit comments

Comments
 (0)