Sooo … is passing by value a thing in rust? Or does just about every method take only reference types as arguments?
I think this is an occasion where a vague familiarity with other languages ended up confusing me with Rust. The '&' sign doesn't mean 'pass by reference' in the same way as it does in C. Anything with a size that's fixed at compile time is typically passed by value, whereas variables who's size might change are passed by reference. The '&' in Rust isn't about that. For variables that are passed by reference, the '&' is about whether the ownership of that memory address is transferred or not.
To illustrate:
fn abc(v: String) {
println!("v is {}", v);
}
fn main() {
let mut v=String::from("ab");
v.push('c');
abc(v);
// println!("v is {}", v);
}
works fine as it is, but will error if you uncomment the second println! The 'v' variable was passed by reference, but it's ownership was transferred, so it can't be referred to again.
From the install doc:
You can now get 1 free static url with ngrok's free plan. The 'free' part of it is that it needs relaunching after a certain period of time (every 2 days, maybe?) but it works well enough to develop things.