It’s a protocol extension on BindableType which is restricted only to objects also implementing UIViewController, you can check the Swift docs on protocols and extensions.
Also here’s a code you can paste in a playground to see a simpler example:
protocol Hello {
func sayHello()
}
protocol Automatic { }
extension Hello where Self: Automatic {
func sayHello() {
print("Automatic Hello")
}
}
struct Test: Hello, Automatic { }
let t = Test()
t.sayHello() --> exists and prints "Automatic Hello"