> rest of the post is me trying to make sense of the tutorial on borrowing. It has fried my brain and negatively affected my skills in modern Rust, so be wary
I think that tutorial discouraged me from really getting into Rust
I’m no expert in Rust, but have done a couple of very minimal weekend projects. In the time I’ve read up on Rust, I’ve always looked at the borrow mechanism like an extreme/overactive implementation of RAII from C++, that is triggered with every context change.
Would be interested to hear where this analogy breaks down from someone more experienced than me.
Borrowing and RAII are basically separate features, though they do interact.
RAII in Rust is like C++, but simpler: there are no constructors, only destructors. The Drop trait gets called like in C++, except that in Rust, moves are the default, and destructors don't get called on moved-from objects, that is, your destructor only runs once.
References are, at runtime, the same as a pointer in C++, except they cannot be null. We also say that they "borrow" what they refer to, which means that the compiler keeps track of the lifetime of the referent. This ensures that the referent always outlives its reference, so that its reference is always valid. This is a compile-time analysis on the control-flow graph of your program.
One of my favorite RSS readers is https://vore.website - river of news, no unread indicators, simple. It's a website, as the domain suggests, so no need to install anything.
Yeah, after the appropriate layers of VPN/Incognito/Tor/muted phone/etc I braved the link, and it turns out it's actually real, but that is still not a hostname I want connected to me in anyone's access logs more than once.
It's under the NON-VIOLENT PUBLIC LICENSE v5, which is probably not open source, but should be fine for personal use if you're not an arms dealer or prison warden.
There's more RSS readers than you can count. No need to pick a proprietary one with a sketchy license when there are tons of great open-source options.
I think that tutorial discouraged me from really getting into Rust
reply