You can still statically link all your own code but dynamically link libc/other system dependencies.
[In case anybody is confused by your utterance, yes of course this works in Rust]
I eagerly await the results!
Here's nu, a shell in Rust:
$ ldd ~/.cargo/bin/nu
linux-vdso.so.1 (0x00007f473ba46000)
libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f47398f2000)
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f4739200000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f473b9cd000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4739110000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4738f1a000)
/lib64/ld-linux-x86-64.so.2 (0x00007f473ba48000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f473b9ab000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f4738e50000)
And here's the Debian variant of ash, a shell in C: $ ldd /bin/sh
linux-vdso.so.1 (0x00007f88ae6b0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f88ae44b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f88ae6b2000)The problem of increased RAM requirements and constant rebuilds are still very real, if only slightly less big because of dynamically linking C.
Your second paragraph is either a meaningless observation on the difference between static and dynamic linking or also incorrect. Not sure what your intent was.
Also Go does produce fully static binaries on Linux and so it's at least reasonable to incorrectly guess that Rust does the same.
Definitely shouldn't be so confident though!