// RUN: %target-swift-frontend -emit-ir -primary-file %s class UITableViewCell {} class UITableView {} extension UITableViewCell: ReusableViewProtocol { public typealias ParentView = UITableView } protocol ReusableViewProtocol { associatedtype ParentView } protocol ReusableViewFactoryProtocol { associatedtype View: ReusableViewProtocol func configure(parentView: View.ParentView) } extension ReusableViewFactoryProtocol where View: UITableViewCell { func tableCellFor(tableView: UITableView) { configure(parentView: tableView) } }