Shared traits, types, and macros for Peepmatic.
This crate is used both at build time when constructing peephole optimizers
(i.e. in the
peepmatic crate), and at run time when using pre-built
peephole optimizers (i.e. in the
peepmatic-runtime crate and in
Cranelift's Peepmatic integration at
This crate is similar to a header file: it should generally only contain trait/type/macro definitions, not any code.
Define an operator type, as well as its parsing and typing rules.
Define both a
A trait to represent a typing context.
The typing rules for a
Raise a panic about an unsupported operation.