Re:Curl is C
by Manishearth on Monday March 27, 2017 @02:53PM
(#13970571)
https://github.com/rust-lang/rust/blob/1ca100d0428985f916eea... is the "runtime". sys::thread contains all the TLS stuff (C has TLS too, so it's unclear if this is any more of a runtime). catch_unwind is for toplevel panic handling (which can be nop'd with panic=abort).
Finally, we link to jemalloc, which is an additional bit of runtime of its own (which can be turned off with alloc_system)
Re:Curl is C
by steveklabnik on Monday March 27, 2017 @02:57PM
(#13970610)
Ah right, it's in src\libstd\rt.rs, not src\rt, ha!
Re:Curl is C
by Manishearth on Monday March 27, 2017 @04:53PM
(#13971684)
It used to be!
There's also compiler-rt which does some of the eh stuff for panics and whatnot.
I believe that it is smaller than C++'s but larger than C's, but I'm not a mega expert here. I used to know where those files were located in-tree, but don't anymore.
I think there's also several distinctions you can draw here; for example, strictly speaking, almost no runtime is required, but if you're using say, the standard library, you still might end up with a bunch of code. The actual requirements are very small though.
> AFAIK, nobody ever proved it works as designed. The fact that it's design is not very stable is also a problem.
Sorry, I don't understand what you mean here. The runtime?
> A simplified version of Rust might be a better target than C, if somebody ever creates it, but a lot of the safety would have to be left out of it.
I _think_ with the above comments, you mean the Rust langauge overall, not the runtime, right? So, Rust _is_ very stable; post 1.0 we have made extremely small breaking changes, corresponding to the way new C++ standards sometimes introduce minor technical backwards incompatibilities. As for correctness proofs, there are multiple academic institutions working on it; and they don't have to "leave the safety out"; that's what they're trying to prove!