logoalt Hacker News

bluGilllast Monday at 2:04 PM1 replyview on HN

Smart is the key. You can use a raw pointer, but that doesn't tell or enforce anything about lifetime. How long will that pointer be valid - can I save it to a class member - we don't know.

C++ gives you more more things, but none of them are enforced. (I'm sure Rust wants those same things at time - but since I'm not aware of anyone with any ideas how to enforce them so Rust has decided to not allow those - a reasonable choice overall, but sometimes annoying when it means you can't do something that you "know" is correct just because it can't be proved correct in the language)


Replies

mgaunardlast Monday at 2:15 PM

It remains a requirement, whether it is enforced or not.

Valid programs don't need guardrails, since you need to satisfy those requirements for the program to be valid in the first place.

show 1 reply