News for hackers. Stuff that matters.
Re:Ruby Outperforms C: Breaking the Catch-22 by PartiallyTyped on Saturday September 09, 2023 @04:39AM (#37443378)
Afaik the borrow-checker is missing - please correct me if I am wrong - but that doesn't stop you from using it. You could very well use `rustc` for the borrow-checker and compile with GCC on any other backend. The borrow-checker only expresses that your code is sound according the rust spec.
Re:Ruby Outperforms C: Breaking the Catch-22 by josephg on Saturday September 09, 2023 @05:33AM (#37443621)
> The borrow-checker only expresses that your code is sound according the rust spec.

Doesn’t the borrow checker also track when things fall out of scope, and thus control when Drop is called?

Re:Ruby Outperforms C: Breaking the Catch-22 by PartiallyTyped on Saturday September 09, 2023 @05:52AM (#37443705)
Afaik it tracks when objects go out of scope as that deals with ownership and lifetimes, but that's also part of the rust spec.

The drop is there for stuff that you can't just release the memory for, such as closing files and connections.

Re:Ruby Outperforms C: Breaking the Catch-22 by iudqnolq on Saturday September 09, 2023 @09:48AM (#37445362)
No. Drop has straightforward rules.

Find the scope you can refer to the variable in, i.e. the curly brackets it is contained in. That variable is dropped right before the closing curly bracket. Things are dropped in reverse order of creation.

(Similar rules apply to dropping temporaries)

https://doc.rust-lang.org/reference/destructors.html