source: doc/rob_thesis/examples/intro/ignore.c @ 55b2f5a

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 55b2f5a was 9c14ae9, checked in by Rob Schluntz <rschlunt@…>, 8 years ago

add thesis source

  • Property mode set to 100644
File size: 443 bytes
RevLine 
[9c14ae9]1struct __ignore_t__ {
2};
3__ignore_t__ __ignore__;
4
5forall(dtype T | sized(T))
6__ignore_t__ ?=?(__ignore_t__ * dst, T src) {
7        return *dst;
8}
9
10forall(dtype T | sized(T) | { void ?{}(T *, T); })
11T ?=?(T * dst, __ignore_t__ src) {
12        return *dst;
13}
14
15int main() {
16        int x = 123, y = 456, z = 789;
17        double j = 3.14, i = 8.77;
18        [x, __ignore__, z] = [y, z, x];
19        [i, j, __ignore__] = [0, i, j];
20        printf("%d %d %d\n", x, y, z);
21        printf("%g %g\n", i, j);
22}
Note: See TracBrowser for help on using the repository browser.