+++ /dev/null
-// Build don't link:
-
-template <int I>
-struct S {};
-
-template <int J>
-void foo(S<J - 1>);
-
-template <class T>
-void baz(S<sizeof(T)>);
-
-template <int J>
-void fun(S<J>, S<J * 2>);
-
-void bar()
-{
- foo<5>(S<4>()); // OK - 4 is 5 - 1.
- baz<int>(S<sizeof(int)>()); // OK
- fun(S<4>(), S<8>()); // OK - deduce J from first argument.
-}