Rust, take 4

Just another quick note about Rust.

It appears the executable-size comparison in my first post was unfair, and, indeed, should go the other way. The C version was dynamically linked; the Rust version wasn't. (Why wasn't this mentioned somewhere in the Rust stuff?)

When I build the C version with -static, it comes out to over twice the size of the Rust version. This is itself insane, but this time it's not Rust that's insane, but, apparently, Ubuntu. size reports text=762417 data=20804 bss=6016. The same program on one of my home (NetBSD) machines reports text=39836 data=440 bss=2000. That's also a bit high, but not nearly as much so. (Some two-thirds of it appears to be printf; using write(1,"Hello\n",6) instead of printf("Hello\n") brings it down to 12648. I really should investigate more. Building with -g and looking at the symbol table indicates that even this version is bringing in more of libc than it should; I see dlopen, atexit, malloc, and various things they depend on, none of which have any business showing up.)

Main