[coroutines] Add diagnostics for copy/move assignment operators and functions with deduced return types.

Summary: The title says it all. Additionally this patch refactors the diagnostic code into a separate function.

Reviewers: GorNishanov, rsmith

Subscribers: majnemer, mehdi_amini, cfe-commits

Differential Revision: https://reviews.llvm.org/D25292

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285331 91177308-0d34-0410-b5e6-96231b3b80d8
3 files changed