top | item 21146707

(no title)

brighteyes | 6 years ago

Rust would have tradeoffs here, though. For example, in C# you'd be able to do (non-leaking) graphs and other structures in 100% safe code, while Rust would need unsafe.

discuss

order

PudgePacket|6 years ago

You don't need unsafe. This point is brought up a lot, though I understand where the misunderstanding can come from.

Rust is perfectly capable of expressing graphs with zero unsafe code, just currently not in the most optimum implementation.

ClumsyPilot|6 years ago

Is is fine, or suboptimal to the point of being impractical? Genuine question, how bad is this, if quanified?

Rusky|6 years ago

You don't even need "not the most optimum implementation" (assuming you're talking about index-based graphs or something).

You can make non-leaking pointer-based graphs in safe Rust using reference counting (basically what C# does, if you squint) or arenas (if your nodes' lifetimes fit that pattern).

BubRoss|6 years ago

It doesn't need to be unsafe or unoptimal, just use indices into flat memory instead of pointers.