| // 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; | |
| } |