E4124#
构造函数是二义性的:它可能来自多个类型。
错误示例#
pub enum A {
A(Int)
B(Bool)
C(Double)
}
pub enum B {
A(Double)
B(Int)
C(Bool)
}
pub fn use_a() -> Unit {
ignore(A(1))
}
建议#
在构造函数前添加 T:::
pub enum A {
A(Int)
B(Bool)
C(Double)
}
pub enum B {
A(Double)
B(Int)
C(Bool)
}
pub fn use_all() -> (A, A, A, B, B, B) {
(
A::A(1),
A::B(true),
A::C(1.0),
B::A(1.0),
B::B(1),
B::C(true),
)
}