trait driver_context_t<T: FromData> {
// Required methods
fn in_place(&self) -> bool;
fn can_advance(&self, entry: &GenericStateEntry<T>) -> bool;
fn is_actionable(
&self,
entry: &GenericStateEntry<T>,
buffer: &hb_buffer_t,
) -> bool;
fn transition(
&mut self,
entry: &GenericStateEntry<T>,
buffer: &mut hb_buffer_t,
) -> Option<()>;
}