This works in both 7.6.117 and 7.7.39 (although 7.7 gives a warning about an unused private function):
class X (int n)
{
private X `+ (int n2) {return X (n + n2);}
static string _sprintf() {return "X(" + n + ")";}
}
int main()
{
werror ("%O\n", X(3) + 5);
}
I think changing it would have some annoying compatibility impact.
