11use crate :: error:: CrackersError ;
22use crate :: synthesis:: builder:: { StateConstraintGenerator , TransitionConstraintGenerator } ;
3+ use jingle:: JingleContext ;
34use jingle:: modeling:: { ModeledBlock , ModelingContext , State } ;
45use jingle:: sleigh:: { ArchInfoProvider , VarNode } ;
56use jingle:: varnode:: { ResolvedIndirectVarNode , ResolvedVarnode } ;
6- use jingle:: JingleContext ;
77#[ cfg( feature = "pyo3" ) ]
88use pyo3:: pyclass;
99use serde:: { Deserialize , Serialize } ;
1010use std:: collections:: HashMap ;
1111use std:: ops:: Add ;
1212use std:: sync:: Arc ;
13- use tracing:: { event , Level } ;
14- use z3:: ast:: { Ast , Bool , BV } ;
13+ use tracing:: { Level , event } ;
14+ use z3:: ast:: { Ast , BV , Bool } ;
1515
1616#[ derive( Clone , Debug , Deserialize , Serialize , Default ) ]
1717#[ cfg_attr( feature = "pyo3" , pyclass( get_all, set_all) ) ]
@@ -129,10 +129,10 @@ pub struct PointerRange {
129129pub fn gen_memory_constraint (
130130 m : MemoryEqualityConstraint ,
131131) -> impl for < ' a > Fn ( & JingleContext < ' a > , & State < ' a > , u64 ) -> Result < Bool < ' a > , CrackersError >
132- + Send
133- + Sync
134- + Clone
135- + ' static {
132+ + Send
133+ + Sync
134+ + Clone
135+ + ' static {
136136 move |jingle, state, _addr| {
137137 let data = state. read_varnode ( & state. varnode ( & m. space , m. address , m. size ) . unwrap ( ) ) ?;
138138 let constraint = data. _eq ( & BV :: from_u64 ( jingle. z3 , m. value as u64 , data. get_size ( ) ) ) ;
@@ -146,10 +146,10 @@ pub fn gen_register_constraint(
146146 vn : VarNode ,
147147 value : u64 ,
148148) -> impl for < ' a > Fn ( & JingleContext < ' a > , & State < ' a > , u64 ) -> Result < Bool < ' a > , CrackersError >
149- + ' static
150- + Send
151- + Sync
152- + Clone {
149+ + ' static
150+ + Send
151+ + Sync
152+ + Clone {
153153 move |jingle, state, _addr| {
154154 let data = state. read_varnode ( & vn) ?;
155155 let constraint = data. _eq ( & BV :: from_u64 ( jingle. z3 , value, data. get_size ( ) ) ) ;
@@ -209,8 +209,8 @@ pub fn gen_pointer_range_state_invariant<'ctx>(
209209 & ResolvedVarnode < ' a > ,
210210 & State < ' a > ,
211211) -> Result < Option < Bool < ' a > > , CrackersError >
212- + ' ctx
213- + Clone {
212+ + ' ctx
213+ + Clone {
214214 move |jingle, vn, state| {
215215 match vn {
216216 ResolvedVarnode :: Direct ( d) => {
@@ -245,10 +245,10 @@ pub fn gen_pointer_range_state_invariant<'ctx>(
245245pub fn gen_pointer_range_transition_invariant (
246246 m : PointerRangeConstraints ,
247247) -> impl for < ' a > Fn ( & JingleContext < ' a > , & ModeledBlock < ' a > ) -> Result < Option < Bool < ' a > > , CrackersError >
248- + Send
249- + Sync
250- + Clone
251- + ' static {
248+ + Send
249+ + Sync
250+ + Clone
251+ + ' static {
252252 move |jingle, block| {
253253 let mut bools = vec ! [ ] ;
254254 if let Some ( r) = & m. read {
0 commit comments