blob: 01af5c8cbe5ff2c9d8779f78f3565e01788e7e1c [file] [log] [blame]
// REQUIRED_ARGS: -inline -O
// Test operator overloading
extern (C) int printf(const(char*) fmt, ...);
struct Tuple6798(T...)
{
T field;
alias field this;
bool opEquals(Tuple6798 rxx)
{
foreach (i, _; T)
{
if (!__equals(this[i], rxx[i]))
assert(0);
//return false;
}
return true;
}
}
auto tuple(T...)(T args)
{
return Tuple6798!T(args);
}
int zzzz()
{
if (!__equals("mno", "mno"))
assert(0);
assert(tuple("abcd", "x") == tuple("abcd", "x"));
return 0;
}
int main()
{
zzzz();
printf("Success\n");
return 0;
}