News for hackers. Stuff that matters.
Re:Learn Rust with entirely too many linked lists (2019) by zozbot234 on Saturday February 22, 2020 @02:18PM (#22392745)
> No modern systems have such trap representations for pointer types

This may be incidentally true, but "address sanitizer"-like features are becoming more common on modern hardware, and while these do not currently trap on creation/manipulation of a 'wild' pointer (since, strictly speaking, a trap only happens on dereferencing), there's no solid reason to expect this to remain the case in the future.

Re:Learn Rust with entirely too many linked lists (2019) by int_19h on Saturday February 22, 2020 @04:02PM (#22393304)
I don't see how you could trap creation or manipulation, since those pointers are stored in registers and/or memory, and both are fundamentally untyped. How would the hardware even know that something is a pointer, on any architecture that is popular today?
Re:Learn Rust with entirely too many linked lists (2019) by saagarjha on Saturday February 22, 2020 @08:13PM (#22394461)
Because you use typed instructions to access them. For example, on ARM with pointer authentication you’ll sign pointers and unsign them right before using them. If you forge a pointer it’ll cause a crash when it’s used because its signature will be incorrect.
Re:Learn Rust with entirely too many linked lists (2019) by int_19h on Saturday February 22, 2020 @09:11PM (#22394643)
But that would still happen at the point of dereference, no? Or does it allow to tag even operations like moves and adds?