Right now, we emit unavailable errors for calls to functions during overload resolution, and for references to all other declarations in DiagnoseUseOfDecl. The early checks during overload resolution aren't as good as the DiagnoseAvailabilityOfDecl based checks, as they error on the code from PR40991. Fix this by removing the early checking.
llvm.org/PR40991
rdar://48564179
Thanks for taking a look!
Erik