I understand your point though. :) Unsafe needs a higher bar
-
-
Replying to @Brittain_Ben @pcwalton
Literally nothing in userspace but ffi and runtime core stuff like heap should use unsafe. There's no need. Anything else is just cutting corners for performance.
2 replies 0 retweets 1 like -
-
You can't implement a linked list without unsafe. Core data structures in std use unsafe and should obviously not link to C code. https://doc.rust-lang.org/src/alloc/collections/linked_list.rs.html#151 …
2 replies 1 retweet 1 like -
I thought there were ways to do it, just not the obvious most efficient ones. If you really *can't*, that makes me a lot more skeptical of the whole Rust model...
1 reply 0 retweets 0 likes -
Yes. You can implement naive linked lists without unsafe.
1 reply 0 retweets 4 likes -
OK. I meant that if the type system Rust bases its memory-safety on didn't admit *any* way to do linked lists without unsafe, the whole formalism would be a lot less impressive/valuable than I thought it was...
2 replies 0 retweets 0 likes -
I didn't even know it was possible, now I want to learn what a linked list looks like without using unsafe
2 replies 0 retweets 2 likes -
Replying to @andy_kelley @RichFelker and
use Rc and Weak Presumably y'all are talking about doubly linked lists, singly linked lists are possible to do efficiently in safe code
4 replies 0 retweets 6 likes -
Replying to @ManishEarth @andy_kelley and
There's also the possibility of using non-pointer references to represent the graph, such as indices into an array or some other pool data structure that holds the nodes
4 replies 0 retweets 8 likes
This is the right answer in practice, if LinkedList<T> doesn’t work for you.
-
-
I mean, for 99.9% of "practice" the right answer is "don't use a linked list", but for the remaining 0.1% ...
3 replies 0 retweets 3 likes -
Replying to @stephentyrone @pcwalton and
(More generally, for 99.9% of "data structures that you believe require unsafe" the right answer is "use indices instead of pointers, if you must.")
1 reply 0 retweets 4 likes - 6 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
