diff options
Diffstat (limited to 'libphobos/testsuite/libphobos.exceptions/assert_fail.d')
-rw-r--r-- | libphobos/testsuite/libphobos.exceptions/assert_fail.d | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libphobos/testsuite/libphobos.exceptions/assert_fail.d b/libphobos/testsuite/libphobos.exceptions/assert_fail.d index 79b3cb8..352ccca3 100644 --- a/libphobos/testsuite/libphobos.exceptions/assert_fail.d +++ b/libphobos/testsuite/libphobos.exceptions/assert_fail.d @@ -426,6 +426,18 @@ void testShared() import core.atomic : atomicLoad; static assert( __traits(compiles, atomicLoad(s1))); static assert(!__traits(compiles, atomicLoad(b1))); + + static struct Fail + { + int value; + + @safe pure nothrow @nogc: + bool opCast () shared const scope { return true; } + } + + shared Fail fail = { value: 1 }; + assert(_d_assert_fail!(shared Fail)("==", fail) == "Fail(1) != true"); + assert(_d_assert_fail!(shared Fail)("==", fail, fail) == "Fail(1) != Fail(1)"); } void testException() |