blob: bc8ad2c40e62ca2e028ef31f6a6421ad5a003380 [file] [log] [blame]
// 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);
}