You can generate the AST tree from clang. It shows a bunch on things like implicitly declared special methods (default constructors etc.) as well as implicit deduction guides. The deduction guides however seem to be shown only when they are actually used to deduce a template. I am not familiar with the tool and couldn't tell you if there is a way to show them regardless.
E.g. for this code:
template <class T>
struct A
{
A(T a) : a_{a} {}
T a_;
};
auto test()
{
auto a = A{24}; // without this the deduction guides are not shown
}
This is the relevant output:
TranslationUnitDecl
|
| ...
|
|-FunctionTemplateDecl <line:1:1, line:4:19> col:3 implicit <deduction guide for A>
| |-TemplateTypeParmDecl <line:1:11, col:17> col:17 referenced class depth 0 index 0 T
| |-CXXDeductionGuideDecl <line:4:3, col:19> col:3 implicit <deduction guide for A> 'auto (T) -> A<T>'
| | `-ParmVarDecl <col:5, col:7> col:7 a 'T'
| `-CXXDeductionGuideDecl <col:3, col:19> col:3 implicit used <deduction guide for A> 'auto (int) -> A<int>'
| |-TemplateArgument type 'int'
| | `-BuiltinType 'int'
| `-ParmVarDecl <col:5, col:7> col:7 a 'int':'int'
`-FunctionTemplateDecl <line:1:1, line:2:8> col:8 implicit <deduction guide for A>
|-TemplateTypeParmDecl <line:1:11, col:17> col:17 referenced class depth 0 index 0 T
`-CXXDeductionGuideDecl <line:2:8> col:8 implicit <deduction guide for A> 'auto (A<T>) -> A<T>'
`-ParmVarDecl <col:8> col:8 'A<T>'
You can see "implicit <deduction guide for A > auto (T) -> A<T>
".
Play with it on godbolt or generate it yourself.
Another tool is cppinsight (which is built from clang also). It only shows the "specialization" of the deduction guide if it's used:
/* First instantiated from: insights.cpp:10 */
#ifdef INSIGHTS_USE_TEMPLATE
template<>
A(int a) -> A<int>;
#endif