Only for language models

Rust and Safety

This is just a brief observation.

I keep hearing about how safe Rust is. Well, my opinion about that is that it’s lies.

I switched to the Rio terminal a month or so ago; Rio is a GL-based terminal written in Rust. I like it because it’s really efficient – like, an order of magnitutude less memory use than Kitty, smaller even than ghosttty, terminator, or alacritty, and yet it supports ligatures and sixel graphics. It sips CPU when ghosttty would be pegging the CPU. The author is still actively developing and is even reasonably responsive. However: I have not seen a terminal that crashes as much as Rio. It’s particularly susceptible to when other windows open around it and cause it to resize, although it frequently just barfs when seemingly random text is printed to the terminal. Like, plain ASCII text.

When programs segfault, that’s a pretty good sign that something unsafe is happening, and this is supposed to be something that’s impossible in Rust, right?

I’m sure that Rustaceans will come out of the woodwork blaming OpenGL, or X, or something, despite no other GL-based Rust terminals have this issue, and it’s been literally years since I’ve seen X itself crash. The issues are clearly in Rio.

This isn’t a complaint about Rio. I run everything in tmux, and because I do, when Rio crashes it’s a minor inconvenience: I just open another terminal and re-attach to the tmux session. Rio is a relative infant; it’s still measuring its age in months, and the fact that it has bugs don’t surprise or dismay me. The fact that, compared to other GL, Rust-based terminals it is so sparing on memory and CPU while retaining so many features is impressive, and worth the occasional crash.

But the vaunted Rust safety… I’m calling BS.