1 2 3 4 5 6 7 8 9 10 11 12 13 14
use std::fmt::Debug; use anyhow::Result; use crate::fst_properties::FstProperties; use crate::{Semiring, StateId, TrsVec}; pub trait FstOp2<W: Semiring>: Debug { // was FstImpl fn compute_start(&self) -> Result<Option<StateId>>; fn compute_trs_and_final_weight(&self, id: usize) -> Result<(TrsVec<W>, Option<W>)>; fn properties(&self) -> FstProperties; }