相关疑难解决方法(0)

仅按变体比较枚举,而不是值

我有一个具有以下结构的枚举:

enum Expression {
    Add(Add),
    Mul(Mul),
    Var(Var),
    Coeff(Coeff)
}
Run Code Online (Sandbox Code Playgroud)

每个变体的"成员"都是结构.

现在我想比较两个枚举是否有相同的变体.所以,如果我有

let a = Expression::Add({something});
let b = Expression::Add({somethingelse});
Run Code Online (Sandbox Code Playgroud)

cmpvariant(a, b)应该是true.我可以想象一个简单的双重match代码,它遍历两个枚举实例的所有选项.但是,如果它存在,我正在寻找一个更好的解决方案.如果没有,双重匹配会有开销吗?我想在内部我只是比较两个整数(理想情况下).

rust

20
推荐指数
1
解决办法
4454
查看次数

标签 统计

rust ×1