Avatar
omochimetaru 1/24/2020 7:10 AM
C++はこういうのいろいろできますね
7:11 AM
たださっきの #ifemptyenum の内側で展開するのはなんかいろいろルール違反を感じるので
7:12 AM
分岐が必要ですよね 型レベルの
7:15 AM
enum CurryHelper<variadic T, Result> {} extension CurryHelper where #empty(T) { typealias Fn = Result } extension CurryHelper where #notEmpty(T) { typealias Fn = (#head(T)) -> CurryHelper<#tail(T), Result: Result>.Fn }
7:15 AM
↑こうだったらもうちょっと今のSwift風で許せそう