| // REQUIRED_ARGS: -checkaction=context |
| struct STuple { |
| bool opEquals(STuple) { return false; } |
| } |
| |
| class CTuple { |
| } |
| |
| void testStruct() { |
| STuple t1; |
| assert(t1 == t1); |
| } |
| |
| void testClass() { |
| CTuple t1 = new CTuple(); |
| assert(t1 == t1); |
| } |
| |
| // https://issues.dlang.org/show_bug.cgi?id=20331 |
| void testAnonymousFunction() |
| { |
| bool function() check = () => true; |
| assert(check()); |
| |
| bool result = true; |
| assert((() => result)()); |
| } |
| |
| void main() { |
| testStruct(); |
| testClass(); |
| testAnonymousFunction(); |
| } |
| |
| // https://issues.dlang.org/show_bug.cgi?id=20989 |
| void test20989() @safe |
| { |
| uint[] arr = [1, 2, 3]; |
| assert(arr.ptr); |
| assert(!arr.ptr); |
| assert(arr.ptr is arr.ptr); |
| } |
| |
| // https://issues.dlang.org/show_bug.cgi?id=21765 |
| ref int func21765(int); |
| void test21765() |
| { |
| assert((func21765(1) = 2) == 2); |
| assert((1.func21765 = 2) == 2); |
| } |