Avatar
@koher ちょっと僕の言葉が足りてなかったです。 Tnまで再帰させたかったんで、parameterized exを使うとこんな感じです struct Path<T1, T2> {} struct PathConstructor<T1, T2> { typealias PathType = Path<T1, T2> } extension<T3, T4> PathConstructor where T2 == PathConstructor<T3, T4> { typealias PathType = Path<T1, T2.PathType> } extension PathConstructor { func create(path: [String]) -> PathType { fatalError() } } (edited)
3:52 AM
あー、extension でtypealias 上書き出来ないか