// { dg-additional-options "-fmodules-ts" } // Test merging deduction guides. template struct S { template S(U); }; import A; import B; import C; int main() { // declared in A and B S x(123); S x2 = x; // declared only in A S y(0.5); S y2 = y; // declared only in B S z('c'); S z2 = z; // declared only in C (and attached to named module) S w("hello"); S w2 = w; } S(char) -> S; // { dg-error "ambiguating" }