+++ /dev/null
-// Build don't link:
-
-template <int I>
-struct A {
-};
-
-template <int I, int J>
-struct B {
- operator A<3> ();
- operator B<3, 7> ();
-};
-
-
-template <int I, int J>
-void f(B<I, J>);
-
-template <int I>
-void f(A<I>)
-{
-}
-
-int main()
-{
- // Deduction fails with the first `f'. Since `3' is explicitly
- // specified, we don't try any deduction with the second `f'. So,
- // we call the second `f'.
- f<3>(B<2, 7>());
-}