Hi Folks!

I am new on this list. I am a regular C++ algorithm programmer, who is very
interested in Rust.

First of all - congratulation for this project.


After reading the tutorial (which btw I found very good quality (it is both
concise and explanatory in the same time)), I still have questions about
the project. I also quickly went throught the manual, but neither it did
answer my questions. I hope you will and I ask you too extend the
documentation with the answers.


1) The implementation details of the garbage collector. I understand that
implementation details may sound a bit boring topic for a languge designer,
but for anyone considering using the language in practice it may be a
decisive factor.

Abou the GC:
Is it precise? It is moving? Is it based on clang? When is gc triggered?
Does it call the destructors of objects detected as garbage?

About the exchange heap:
Is it compacted?

The importance of these questions is from the fact that Rust denies
explicit memory management for the programmer and instead forces its own
solutions, the GC heap and the exchange heap.


2) Rust does not provide exception handling, but in the same time still
does stack unwind. I can understand choices either for or against EH in a
new language, but this mixture seems weird. I missed a design rational
about this decision. Why is the task fail ability so important that it is
worth the inclusion of stack unwinding into a semantics that does not
support EH anyway? Or do you consider stack unwind a cheap, non-problematic
addition? If you omitted stack unwind, then the user programmer could
always easily argue about the execution flow of its code easily, which is a
big advantage. Now the user does not have EH, but still has its
disadvantage, that is - has to worry about exception safety (RAII takes
care of only the majority of exception safety issues, not all, right?).

How is unsuccessful memory allocation handled?
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to