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