Example of Rust code

Walter Bright newshound2 at digitalmars.com
Fri Aug 10 15:29:16 PDT 2012


On 8/10/2012 5:32 AM, bearophile wrote:
> Through Reddit I've found a page that shows a small example of Rust code:

Here's the D version:
-----------------------------------------
import std.stdio;

struct expr {
     int val;
     int eval() { return val; }
}

expr plus (expr a, expr b) { return expr(a.val + b.val); }
expr minus(expr a, expr b) { return expr(a.val - b.val); }

void main() {
     auto x = minus(expr(5), plus(expr(3), expr(1))).eval();
     writeln("val: ", x);
}
------------------------------------------

And the generated code:

------------------------------------------
__Dmain comdat
         assume  CS:__Dmain
L0:             push    EAX
                 mov     EAX,offset FLAT:_D3std5stdio6stdoutS3std5stdio4File
                 push    dword ptr FLAT:_DATA[0Ch]
                 push    dword ptr FLAT:_DATA[08h]
                 push    1
                 push    0Ah
                 call    near ptr 
_D3std5stdio4File18__T5writeTAyaTiTaZ5writeMFAyaiaZv
                 xor     EAX,EAX
                 pop     ECX
                 ret
----------------------------------------

I'd say we're doing all right.


More information about the Digitalmars-d mailing list