Frits van Bommel
e7b3f5415f
Make "aa[key]" use the same runtime call as "key in aa". The runtime calls
...
these were using were different, but with equivalent definitions.
With `ldc -O3`, the following functions now all compile to the exact same code:
{{{
int[int] y;
void foo(int x) {
if (x in y) {
auto z = x in y;
sink(*z);
}
}
void bar(int x) {
if (x in y) {
sink(y[x]);
}
}
void baz(int x) {
if (auto p = x in y) {
sink(*p);
}
}
}}}
2009-05-25 12:50:40 +02:00
..
2009-05-16 13:50:44 +02:00
2009-05-25 12:50:40 +02:00
2008-10-06 22:54:08 +02:00
2009-05-16 13:06:49 +02:00
2009-05-22 13:17:06 +02:00
2009-03-06 16:00:47 +01:00
2009-05-16 13:06:49 +02:00
2009-05-16 13:06:49 +02:00
2009-05-17 14:56:29 +02:00
2009-04-15 20:06:25 +02:00
2009-05-09 20:13:05 +02:00
2009-05-19 12:28:44 -06:00
2009-05-14 13:26:40 +02:00
2008-08-17 12:21:53 +02:00
2009-03-12 20:37:27 +01:00
2009-04-08 23:05:30 +02:00
2009-05-20 21:13:41 +02:00
2009-05-20 21:13:41 +02:00
2009-05-17 23:15:04 +02:00
2009-04-15 20:06:25 +02:00
2009-03-28 05:00:43 +01:00
2008-10-06 22:54:08 +02:00
2009-05-10 18:14:36 +02:00
2009-03-12 20:37:27 +01:00
2009-05-15 17:17:20 +02:00
2009-03-31 01:18:35 +02:00
2009-04-12 12:52:01 +02:00
2009-02-26 14:51:02 +01:00
2009-03-28 06:32:06 +01:00
2009-05-22 00:19:54 +02:00
2009-05-16 18:19:52 +02:00
2009-03-24 21:18:18 +01:00
2009-05-23 00:23:39 +02:00
2009-05-21 15:26:46 +02:00
2009-05-07 15:33:06 +02:00
2009-05-07 15:33:06 +02:00
2009-02-28 22:16:52 +01:00
2009-05-23 00:23:39 +02:00
2009-05-23 00:23:39 +02:00
2009-03-18 15:03:17 +01:00
2009-05-17 00:15:25 +02:00
2009-05-23 20:57:22 +02:00
2009-05-11 15:48:33 +02:00
2009-05-14 13:26:40 +02:00
2009-05-14 13:26:40 +02:00
2009-04-12 13:08:24 +02:00
2009-05-03 21:58:28 +02:00
2009-03-29 19:19:32 +02:00
2009-05-13 18:08:40 +02:00
2009-05-04 13:32:16 +02:00
2009-05-17 16:27:01 +02:00
2009-05-17 16:31:23 +02:00
2009-05-25 12:50:40 +02:00
2007-10-23 05:55:12 +02:00
2009-05-23 09:02:36 +02:00
2009-05-14 20:36:55 +02:00
2009-05-14 20:36:55 +02:00
2009-05-16 18:19:52 +02:00
2009-05-17 17:55:53 +02:00
2009-02-08 16:50:22 +01:00
2009-05-20 16:20:59 +02:00
2009-05-17 04:41:10 +02:00
2009-05-17 04:41:10 +02:00
2009-05-17 17:04:47 +02:00
2009-03-07 19:38:00 +01:00
2009-05-02 11:58:50 +02:00
2009-05-17 15:20:58 +02:00
2009-04-25 18:26:54 +02:00