我遇到了 E0599(在當前范圍內沒有Variant1為型別引數找到名為的關聯專案)錯誤,代碼如下:MyEnum
enum MyEnum {
Variant1,
Variant2,
Variant3
}
struct MyStruct {}
trait MyTrait<T> {
fn get_some_variant(self) -> T;
}
impl<MyEnum> MyTrait<MyEnum> for MyStruct {
fn get_some_variant(self) -> MyEnum {
MyEnum::Variant1
}
}
這是一個游樂場鏈接。
在這種情況下,為什么我不能從我的列舉中構建一個變體?
有什么解決方法?列舉不是要用作泛型嗎?
uj5u.com熱心網友回復:
impl<MyEnum>定義MyEnum為任意泛型型別,這會影響您的實際MyEnum定義。
impl MyTrait<MyEnum> for MyStruct {
fn get_some_variant(self) -> MyEnum {
MyEnum::Variant1
}
}
按預期作業并為MyTrait<MyEnum>.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/525660.html
標籤:仿制药锈枚举
上一篇:從管道和緩沖區讀取后,讀取后只包含一個位元組,而它應該包含更多
下一篇:未實作特征時回傳泛型
