It's like, a metaphor man. A work of fiction. Not to be taken literally, yet conveys themes and ideas which can become a short hand for conveying these ideas. Tons of folks read Atlas Shrugged and thought "hey this is how the world actually is" too. Or worse, The Fountainhead. Shudder.
That atomic test is the reason Hunters Point is radioactive. If they were just going to sink the boats why did the spray them off first? Ugh. I wish there was accountability but all involved are long dead now.
To be honest, it starts to look more and more like a single company (we all know which one), is just buying up all DRAM capacities to keep others out of the (AI) game.
Shitloads of already existing libraries. For example I'm not going to start using it for Arduino-y things until all the peripherals I want have drivers written in Rust.
That's not really the case. Not all C APIs are inherently unsafe by construction, and I've always appreciated when someone has wrapped a C library and produced two crates:
- a pure binding crate, which exposes the C lib libraries API, and
- a wrapper library that performs some basic improvements
Stuff in the second category typically includes adding Drop impls to resources that need to be released, translating "accepts pointer + len" into "accepts slices" (or vice versa on return), and "check return value of C call and turn it into a Result, possibly with a stringified error".
All of those are also good examples of local reasoning about unsafety. If a C API returns a buffer + size, it's unsafe to turn it into a reference/slice. But if you check the function succeeded, you unsafely make the slice/reference, and return it from a safe function. If it crashes, you've either not upheld the C calls preconditions (your fault, check how to call the C function), or the C code has a bug (not your fault, the bug is elsewhere).
reply