class Animal { // コンパイルOK func aa() -> Self { return self } static func bb() -> Self { // コンパイルを通せるコードが見当たらない } }
Self
って書くと、 self
の型 を意味するようなんですがSelf
は、フィールドや引数やクロージャ型に混ぜて使うと怒られて、この、インスタンスメソッドの返り値と、スタティックメソッドの返り値の2箇所にしか書けなくてself
でしか満たせないように思えるんだけど