Skip to content

Commit

Permalink
Test that boxed fn parameters are implemented. (model-checking#3361)
Browse files Browse the repository at this point in the history
This regression test ensures that issue model-checking#2874 does not reoccur, which
was last encountered in commit 9190831.

Resolves model-checking#2874

By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 and MIT licenses.

---------

Co-authored-by: Jacob Salzberg <[email protected]>
Co-authored-by: Jaisurya Nanduri <[email protected]>
  • Loading branch information
3 people authored Jul 23, 2024
1 parent 7ad4d1c commit ea0f54a
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions tests/kani/Closure/boxed_closure.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Copyright Kani Contributors
// SPDX-License-Identifier: Apache-2.0 OR MIT
// compile-flags: -Zmir-opt-level=2

// The main function of this test moves an integer into a closure,
// boxes the value, then passes the closure to a function that calls it.
// This test covers the issue
// https://github.com/model-checking/kani/issues/2874 .

fn call_boxed_closure(f: Box<dyn Fn() -> ()>) -> () {
f()
}

// #[kani::proof]
fn main() {
let x = 1;
let closure = move || {
let _ = x;
()
};
call_boxed_closure(Box::new(closure));
}

0 comments on commit ea0f54a

Please sign in to comment.