如何声明一个接受任何函数的通用结构?

时间:2021-03-20 01:22:24

标签: rust

我需要用内存实现一个简单的 FSM:

pub struct Fsm<TFunc> {
    memory: Vec<TFunc>
}

但是在我的示例中,TFunc 是任何类型,如何将其绑定到 callablefunction?简而言之,我只能将函数用作类型。

是否可以在 rust 中使用?

添加
明确地说,我需要下一个行为:

fsm1 = Fsm::<Fn(usize)->usize>::new(); // Ok
fsm2 = Fsm::<Fn(usize, String)>::new(); // Ok
fsm3 = Fsm::<String>::new(); // Failed! It's not a function

0 个答案:

没有答案
相关问题