mirror of
https://github.com/circify/circ.git
synced 2026-01-12 15:18:22 -05:00
* update TODO * add quiet mode to zxc * Drop and garbage collection This commit adds Drop instances and related functionality that force garbage collection at life cycle end of various structs that contain Terms. I didn't implement Drop for Computation because its Terms are generally moved into a converter. This means that back-ends are responsible for garbage collecting (see new functionality in ILP, R1cs, and ABY). * collect the cfold table, too * prevent double-panic as a result of garbage_collect() * z# parser: zx is a default extension too * update Cargo.lock * strictness un-op #() also added err messages for asserts and ?: ternary support from ZoK upstream * for assignments, strict rhs => strict lhs * zsharp: type definitions WIP Still missing monomorphization. * type defns: generic inference * struct monomorphization for type aliased structs * different approach: no monomorphization, just canonicalize aliases * canonicalize struct names * typedef tests things work except that importing an alias and not its referent breaks typechecking * add error message about needing to import referent structs * update hashconsing pointer in Cargo.toml * maybe_garbage_collect should also return early when panicking Co-authored-by: Alex Ozdemir <aozdemir@hmc.edu>