def y_spec(c: Contract) -> None: ss = c.alloc(alias_ty('struct.s')) z = c.fresh_var(i1, 'z') c.execute_func(ss, z) c.points_to_bitfield(ss, 'y', z) c.returns(void)
def oneptr_update_func(c: Contract, ty: LLVMType, fn_name: str) -> None: """Updates contract ``c`` to declare calling it with a pointer of type ``ty`` updates that pointer with the result, which is equal to calling the Cryptol function ``fn_name``.""" (x, x_p) = ptr_to_fresh(c, ty) c.execute_func(x_p) c.points_to(x_p, cry(fn_name)(x)) c.returns(void) return None