// Copyright (C) 2002 Free Software Foundation // Origin: C++/70 // Contributed by Gabriel Dos Reis // { dg-do compile } template struct S; template void operator* (S, S); template struct S { friend void operator*<> (S, S); // { } // okay void operator* (T) { } }; template void operator* (S, S) { } int main() { S s1, s2; s1 * s2; s1 * 2; }