News for hackers. Stuff that matters.
Re:LLVM 5.0.0 Release by jandrese on Thursday September 07, 2017 @06:27PM (#15196363)
Mostly I ran into a lot of friction with shared data structures that are being accessed by multiple threads. Stuff like ring buffers, flow state databases, and similar systems.

There's probably Rust ways to do that stuff, but it was not obvious to me.

Re:LLVM 5.0.0 Release by littlestymaar on Thursday September 07, 2017 @06:54PM (#15196533)
If you're able to write a robust shared ring buffer in C, you should be able to do the exact same implementation in unsafe Rust using raw pointers, declare it as Sync and use it from safe Rust with no issue. Or am I missing something ?

Or, if you're like me and not confident enough to do this, you could check on crates.io[1] to see if no available lib already does what you need. In which case you basically have it for free.

[1] https://crates.io/keywords/ring-buffer

Re:LLVM 5.0.0 Release by gcp on Friday September 08, 2017 @03:48AM (#15198563)
I'm pretty sure that's intentional friction (having to prove what you're doing is safe).
Re:LLVM 5.0.0 Release by jandrese on Friday September 08, 2017 @11:37AM (#15201026)
Figuring out how to prove it is safe to the compiler is definitely a challenge.