SymbolLabel -> SymbolMeta
This commit is contained in:
@@ -320,7 +320,7 @@ pub type Expr = ir::Expr<ProgramInfo>;
|
|||||||
pub struct ProgramInfo;
|
pub struct ProgramInfo;
|
||||||
|
|
||||||
impl ir::ProgramInfo for ProgramInfo {
|
impl ir::ProgramInfo for ProgramInfo {
|
||||||
type SymbolLabel = Infallible;
|
type SymbolMeta = Infallible;
|
||||||
type RelationLabel = Infallible;
|
type RelationLabel = Infallible;
|
||||||
type AssumptionMeta = Infallible;
|
type AssumptionMeta = Infallible;
|
||||||
type RuleMeta = AstNode;
|
type RuleMeta = AstNode;
|
||||||
|
|||||||
@@ -56,8 +56,8 @@ pub struct Program<T: ProgramInfo> {
|
|||||||
/// The list of assumptions in this program.
|
/// The list of assumptions in this program.
|
||||||
pub assumptions: Vec<Assumption<T>>,
|
pub assumptions: Vec<Assumption<T>>,
|
||||||
|
|
||||||
/// The global symbol table for identifying indexed symbol literals.
|
/// The global symbol table for providing metadata about each indexed symbol literal.
|
||||||
pub symbols: Vec<T::SymbolLabel>,
|
pub symbols: Vec<T::SymbolMeta>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive_where(Clone, Debug, PartialEq, Eq)]
|
#[derive_where(Clone, Debug, PartialEq, Eq)]
|
||||||
@@ -405,8 +405,8 @@ impl Value {
|
|||||||
/// Associated types specializing a [Program] with stage-specific or format-specific information.
|
/// Associated types specializing a [Program] with stage-specific or format-specific information.
|
||||||
// TODO: document how each type's usage changes based on stage and format
|
// TODO: document how each type's usage changes based on stage and format
|
||||||
pub trait ProgramInfo {
|
pub trait ProgramInfo {
|
||||||
/// The type of global symbol labels.
|
/// Metadata for each symbol in the global symbol table.
|
||||||
type SymbolLabel: Info;
|
type SymbolMeta: Info;
|
||||||
|
|
||||||
/// The type of relation identifiers.
|
/// The type of relation identifiers.
|
||||||
///
|
///
|
||||||
@@ -446,7 +446,7 @@ macro_rules! def_bound_info {
|
|||||||
#[doc = concat!("Conveniently extends [ProgramInfo] with the bounds: ", stringify!($bounds))]
|
#[doc = concat!("Conveniently extends [ProgramInfo] with the bounds: ", stringify!($bounds))]
|
||||||
pub trait $name:
|
pub trait $name:
|
||||||
ProgramInfo<
|
ProgramInfo<
|
||||||
SymbolLabel: $bounds,
|
SymbolMeta: $bounds,
|
||||||
RelationLabel: $bounds,
|
RelationLabel: $bounds,
|
||||||
AssumptionMeta: $bounds,
|
AssumptionMeta: $bounds,
|
||||||
RuleMeta: $bounds,
|
RuleMeta: $bounds,
|
||||||
@@ -461,7 +461,7 @@ macro_rules! def_bound_info {
|
|||||||
|
|
||||||
impl<T> $name for T where
|
impl<T> $name for T where
|
||||||
T: ProgramInfo<
|
T: ProgramInfo<
|
||||||
SymbolLabel: $bounds,
|
SymbolMeta: $bounds,
|
||||||
RelationLabel: $bounds,
|
RelationLabel: $bounds,
|
||||||
AssumptionMeta: $bounds,
|
AssumptionMeta: $bounds,
|
||||||
RuleMeta: $bounds,
|
RuleMeta: $bounds,
|
||||||
|
|||||||
Reference in New Issue
Block a user