2017-01-14 11 views
3

それはimplブロック内でSelfを使用することが可能です:'impl'関数本体で構造体名の繰り返しを避けることができますか?

impl SomeStruct { 
    pub fn new() -> Self { 
     SomeStruct { foo: 1, bar: 1, } 
    } 
} 

は、関数本体内のタイプを参照する方法はありますか?例:

impl SomeStruct { 
    pub fn new() -> Self { 
     Self { foo: 1, bar: 1, } 
    // ^^^^ not recognized, possibly there is some alternative? 
    } 
} 

これは必須ではなく、推測できる場合に長い構造体名を繰り返さないようにするには便利です。生成されたコードにも有効です。

+0

エラー明確に(Self'と構造体の表現とパターンの関連する種類が不安定な '」と述べ問題#37544を参照してください) " - この質問は重複しているようです。 – ljedrz

+1

@ ljedrzは非専門家として - 私が知っている限り、これは「自己」なしでこれを達成するための全く異なる方法です。 – ideasman42

答えて

関連する問題