Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Few things that expect a pointer do it by expecting an opaque dereferenceable thing. Most things that expect pointers actually expect a specific concrete pointer type (even if it's a pointer to an opaque thing.)

IMHO, a language with "real suppport" for handles would use them everywhere, instead of pointers—i.e. make all places where pointers pass through "wide enough" for handles to be passed instead—with reduction to a pointer being a kind of WPO for cases where it's proven to be possible.



Implementing `Deref` in Rust implements deref coercions, meaning that it can be used in any function that can accept an appropriate reference.

This is purely syntactic sugar, and no different the compiler inserting `x.deref()` instead of `x` for function arguments. — it's simple q.o.l..




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: