[API Coherence] Report for 2026-07-07 – Re-verification Run (Full API Surface) #10060
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by API Coherence Checker. A newer discussion is available at Discussion #10069. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Re-verification run against commit
d9d3be9. All API families were analyzed in prior runs. This run re-verified all 14 cached issues — none have been resolved.High Priority
1. Rust: Missing Simplifier API (high-level
z3crate)z3-sysexposes FFI bindings but noSimplifiertype orSolver::add_simplifier()exists.Missing in: Rust | Available in: all others
Fix: Add
Simplifier<'ctx>struct +Solver::add_simplifier()in prove-rs/z3.rs2. Rust: Missing FiniteSet API (both
z3-sysandz3crate)No
Z3_mk_finite_set_*FFI bindings at all.Missing in: Rust | Available in: all others
Fix: Add FFI bindings to
z3-sysand aFiniteSet<'ctx>type inz3crate3. Rust: Missing polymorphic datatype support
z3-syshasZ3_mk_polymorphic_datatype/Z3_mk_type_variablebutDatatypeBuilderhas no polymorphic mechanism.Missing in: Rust | Available in: all others
Fix: Extend
DatatypeBuilderto accept type parametersMedium Priority
4. OCaml and Go: Missing Polynomial Subresultants
Z3_polynomial_subresultantsnot wrapped.Missing in: OCaml (
src/api/ml/), Go (src/api/go/)5. Go: Missing
MkFreshConst/MkFreshFuncDeclNo wrappers for
Z3_mk_fresh_const/Z3_mk_fresh_func_decl.Missing in: Go | Fix: Add to
src/api/go/6. Go: Missing
EnableTrace/DisableTracelog.gohasOpenLog/CloseLogbut not trace functions.Missing in: Go | Fix: Add to
src/api/go/log.go7. Rust: Missing logging wrappers (
enable_trace,open_log, etc.)z3-syshas FFI but high-levelz3crate has no wrappers.Missing in: Rust
8. C++, Python, Go, Rust: Missing simplifier enumeration
GetNumSimplifiers/GetSimplifierNameonly in .NET, Java, OCaml.Missing in: C++ (
z3++.h), Python (z3.py), Go (partial), Rust9. C++ and Rust: Missing
mk_type_variablewrapperZ3_mk_type_variablenot wrapped in C++ or Rust high-level crate.Missing in: C++, Rust
10. C++, Python, .NET, OCaml: Missing
re_power(Z3_mk_re_power)Exact-repetition regex available in Java, TypeScript/JS, Go, Rust but not others.
Missing in: C++, Python, .NET, OCaml
11. OCaml and Rust: Missing seq functional ops
seq_map/seq_mapi/seq_foldl/seq_foldlinot wrapped.Missing in: OCaml (
z3.ml), Rust (z3/src/ast/seq.rs)12. TypeScript/JS, C++, OCaml, Rust: Missing
optimize_get_lower/upper_as_vectorTriple (inf, value, eps) vector form only in Python, Java, .NET, Go.
Missing in: TypeScript/JS, C++, OCaml, Rust
Low Priority
13. .NET: Missing
MkLinearOrder,MkPiecewiseLinearOrder,MkTreeOrderOnly
MkPartialOrderandMkTransitiveClosurepresent.Missing in: .NET (
Context.cs) | Fix: Add near line 516814. C++ and .NET: Missing
allchar(Z3_mk_re_allchar)Match-any-char regex not wrapped.
Missing in: C++ (
z3++.h), .NET (Context.cs)15. Go: Missing
AST.Id()methodHash()exists but noId()wrappingZ3_get_ast_id.Missing in: Go (
z3.go) | Fix: 1-line additionProgress
z3_api.hfor new C API additions; track prove-rs/z3.rs for Rust fixesBeta Was this translation helpful? Give feedback.
All reactions