// Build don't link: 
// GROUPS passed old-abort
class Rational {
public:
    Rational(int v): value(v)
	{  }

    int value;
};
typedef Rational __Rational;

extern int operator>(const Rational&, const Rational&);

class V {
public:
    class Rational {
    public:
	static int x(const __Rational& value);
    };
};

int
V::Rational::x(const __Rational& value)
{
    return value > 0;
}
