This is the last non-Patreon-exclusive episode of our second season. Episode 30 will appear on our Patreon page next week, then we’ll take a 6-week break and Episode 31 will be posted here on July 3. Thank you for listening!

Protocol 'XYZ' can only be used as a generic constraint because it has Self or associated type requirements. Oh no, what now?

  • Alexis Gallagher: Protocols with Associated Types
  • Gwendolyn Weston: Keep Calm and Type Erase On
  • Mislav Javor: Swift Enums Are "sum" Types. That Makes Them Very Interesting
  • Brandon Williams’ Few But Ripe blog, for learning about sum and product types, among other mathematical concepts
  • The example from Soroush of using generic constraints to sidestep this issue — Gist
  • Bill Venners: Abstract Type Members versus Generic Type Parameters in Scala
  • Swift: Generics Manifesto
  • Russ Bishop's Swift Associated Types series
  • Chris Eidhof: Type Erasers in Swift