If a user defines a coroutine_traits type that takes an incorrect
number of template parameters, or for some reason they include such
a type in their program, they receive a cryptic error message:
"too few template arguments for class template 'coroutine_traits'".
The problem is that they may not understand how many is the right
number of template arguments.
Add a note diagnostic that explains why the coroutine_traits template
is being instantiated, and with what arguments.
Test Plan: check-clang
Maybe we should also remove the "%0 type was not found; " here to avoid the suggestion that declaring that type yourself would be a reasonable way to solve the problem. (We don't say "std::type_info was not found" when a user uses typeid without a #include <typeinfo> and that doesn't seem to confuse anyone.) For symmetry with what we say for typeid, maybe this should be worded