E4154#
自定义标记值的非常量枚举 enum。
MoonBit 支持自定义枚举构造器的整数表示:
enum Flag {
A = 1
B = 2
C = 3
}
但是,只有常量 enum 值(所有构造器都没有负载)才能有自定义标记值。否则编译器会产生本错误。
错误示例#
enum Bad {
A = 1
B = 2
C(Int)
}
建议#
移除构造器负载,或移除自定义标记值:
pub enum Good {
A = 1
B = 2
C = 3
}
pub fn all() -> (Good, Good, Good) {
(A, B, C)
}