Skip to content

Instantly share code, notes, and snippets.

@kateinoigakukun
Created October 7, 2017 13:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kateinoigakukun/19f5ac527ebf0efa2fe2953e06390d01 to your computer and use it in GitHub Desktop.
Save kateinoigakukun/19f5ac527ebf0efa2fe2953e06390d01 to your computer and use it in GitHub Desktop.
これ、'T' does not have a member type named 'A'; did you mean 'A'? になる #swift #CodePiece
func foo<T: P>(a: T) -> T.A {
fatalError()
}
struct B {}
protocol P {}
extension P {
typealias A = B
}
@kateinoigakukun
Copy link
Author

struct B {}
protocol P {}
extension P {
    typealias A = B
}
func foo<T: P>(a: T) -> T.A {
    fatalError()
}

func foo<T: P>(a: T) -> T.A {
    fatalError()
}
struct B {}
protocol P {
    associatedtype A
}

extension P {
    typealias A = B
}

にすると通るようになる。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment