prove-rs / z3.rs

Rust bindings for the Z3 solver.
347 stars 110 forks source link

Expensive copy of a solver #230

Closed TomMD closed 1 year ago

TomMD commented 1 year ago

Z3 has no native way to copy a solver, commonly useful for BFS style tree traversals of contexts of execution. Sometimes solver push/pop suffices and sometimes you just need to copy. This code uses the same operations Leonardo suggested on the topic to cope with Z3's lack.

waywardmonkeys commented 1 year ago

Oops, I see that you linked the place where he said it here in the PR. Please also put it as a comment in the code.

TomMD commented 1 year ago

@waywardmonkeys Done

waywardmonkeys commented 1 year ago

Thanks!