UITableView delegate and datasource functions in wrong extension

Last week after Swift 3.0 and iOS 10 release i was converting our company’s application code to the new syntax. And suddenly when i navigated to some view controllers with custom UITableView i found a bug:

The function didSelectRowAt wasn’t called, and i thought that it was a bug of iOS10, because before i did not have any problems with that. Then i created new project to test UITableView and found the problem. DidSelectRowAt function is the function of UITableViewDelegate but it was in extension of UITableViewDataSourceDelegate.

I know that it was my mistake to override this function in extension of another protocol, but why it was OK in iOS 9?