TIL protocol in Swift could be constrained to inherit from a class
TIL protocol in Swift could be constrained to inherit from a particular class. Two syntaxes are available:
protocol MyView: UIView { /*...*/ }
protocol MyView where Self: UIView { /*...*/ }
Read Swift evolution proposal Class and Subtype existentials.