Managed pointers are fine. The only problem I see is ~str and ~[] are managed pointers most of the time and that makes the code looks weird to people.
If we make str default to managed rather than ~str, and [] default to managed rather than ~[], most of the weird pointer complaints will go away.
Edit: Darn, what was I thinking? I meant owned pointer.
Strings or vectors are owned in most cases. That makes Rust code littered with ~str or ~[], especially when having vector of strings or vectors of vectors. ~[~[~str]]. If we make str and [] default to owned, the code would be much cleaner.
That means move the syntax for fixed vec to something else, like ![1,2,3]
If we make str default to managed rather than ~str, and [] default to managed rather than ~[], most of the weird pointer complaints will go away.
Edit: Darn, what was I thinking? I meant owned pointer.
Strings or vectors are owned in most cases. That makes Rust code littered with ~str or ~[], especially when having vector of strings or vectors of vectors. ~[~[~str]]. If we make str and [] default to owned, the code would be much cleaner.
That means move the syntax for fixed vec to something else, like ![1,2,3]