Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
carbon-lang
Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
-
ixy-languages
A high-speed network driver written in C, Rust, C++, Go, C#, Java, OCaml, Haskell, Swift, Javascript, and Python
For reference, the fix for https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45720 was as simple as this commit: https://github.com/jeromefroe/lru-rs/commit/ea64c8f932a45434cbc71d3843d28af7c1819864.
D does all this too.
What doesn't have a well defined meaning is what it means for unsafe code to be sound. Here you have to refer to the unsafe code guidelines, but it's quite a rabbit hole involving Stacked Borrows all the way to "whatever Ralf (Jung) thinks is a good idea". There is active work here that is being done to formalize the notion of soundness in unsafe Rust, but soundness of safe Rust is well defined and well known.
A surprisingly easy property to achieve. Every time you discover a way in which safe code exhibits undefined behavior, declare it out of scope: https://github.com/rust-lang/rust/issues/32670
There are two efforts to get more targets supported with Rust: rustc_codegen_gcc and gccrs. Rust for embedded is fine, but Rust for AVR is unsupported and Rust for PIC-8 will probably never happen for the same reasons GCC and Clang for PIC-8 will never happen. The two best-supported Rust embedded targets are Armv[6-7]-M and RISC-V.
There are two efforts to get more targets supported with Rust: rustc_codegen_gcc and gccrs. Rust for embedded is fine, but Rust for AVR is unsupported and Rust for PIC-8 will probably never happen for the same reasons GCC and Clang for PIC-8 will never happen. The two best-supported Rust embedded targets are Armv[6-7]-M and RISC-V.
C++ is already quite bloated with features, and it's difficult to keep adding more. Rust got its success mainly because it didn't have to deal with a lot of baggage from trying to be backwards compatible.
I expect that is because you're not particularly familiar with either LLVM or Rust, considering C can literally be transpiled to Rust.
That didn't stop him from making a pet project in C++: https://subsurface-divelog.org/ I'd say that if he seriously didn't like it, he'd have used C or something else.
I assure you that there is no lack of skill; that is just what happens over the course of ten years in a 300,000 line code-base and multiple hundreds of contributors: https://github.com/ARM-software/arm-trusted-firmware/blob/master/Makefile