Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't believe Apple has embraced Rust the same way Google has. Particularly their firmware is still very based on C.


Specifically a dialect called Firebloom (supposedly anyway)

https://saaramar.github.io/iBoot_firebloom/


Possible related to the ‘-fbounds-safety’ feature they’ve proposed for Clang

https://discourse.llvm.org/t/rfc-enforcing-bounds-safety-in-...


Firebloom == `-fbounds-safety`


Firebloom is more of a custom compiler/toolchain than a dialect of C—apart from annotations to relate pointer+length parameters, etc., it is still just C.


Reminds me of this blurb from djb's qmail security guarantee [0]:

> I've mostly given up on the standard C library. Many of its facilities, particularly stdio, seem designed to encourage bugs. A big chunk of qmail is stolen from a basic C library that I've been developing for several years for a variety of applications. The stralloc concept and getln() make it very easy to avoid buffer overruns, memory leaks, and artificial line length limits.

[0]: http://cr.yp.to/qmail/guarantee.html


I mean, the annotations are supposed to be simple C attributes wrapped in macros, so even them are just C


The other commenter mentioning Firebloom is correct that some firmware (iBoot family) has been using C w/ Firebloom extensions for a while. Parts of SEPOS also use Swift, which would make more sense as a non-C language than Rust, from Apple's perspective at least.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: