| // https://bugzilla.gdcproject.org/show_bug.cgi?id=309 |
| // { dg-additional-options "-Wno-deprecated" } |
| // { dg-do run } |
| // { dg-skip-if "needs gcc/config.d" { ! d_runtime } } |
| |
| void main() |
| { |
| creal f1 = +0.0 + 0.0i; |
| creal f2 = +0.0 - 0.0i; |
| creal f3 = -0.0 + 0.0i; |
| creal f4 = +0.0 + 0.0i; |
| |
| assert(f1 !is f2); |
| assert(f1 !is f3); |
| assert(f2 !is f3); |
| assert(f1 is f4); |
| |
| assert(!(f1 is f2)); |
| assert(!(f1 is f3)); |
| assert(!(f2 is f3)); |
| assert(!(f1 !is f4)); |
| |
| struct CReal |
| { |
| creal value; |
| } |
| |
| CReal s1 = CReal(+0.0 + 0.0i); |
| CReal s2 = CReal(+0.0 - 0.0i); |
| CReal s3 = CReal(-0.0 + 0.0i); |
| CReal s4 = CReal(+0.0 + 0.0i); |
| |
| assert(s1 !is s2); |
| assert(s1 !is s3); |
| assert(s2 !is s3); |
| assert(s1 is s4); |
| |
| assert(!(s1 is s2)); |
| assert(!(s1 is s3)); |
| assert(!(s2 is s3)); |
| assert(!(s1 !is s4)); |
| } |