次の2つのプロトコルの書き方は同じことを表現できていますか? それとも違う意味ですか?

ソース1

protocol Hogeable: AnyObject {}
extension Hogeable where Self: UIViewController {}

ソース2

protocol Hogeable: UIViewController {}
extension Hogeable {}

ソース1の書き方をよく見るような気がしたのですが、どこかのSwfitのバージョンでソース2の書き方もできるようになったりしましたでしょうか?

上記のコードは空っぽですが、
Hogeableextension内はUIViewControllerであることが前提のソースコードを書かれていることを想定しています(navigationControllerにアクセスするとか)。