snaggen

joined 2 years ago
 

Abstract This project introduces Rustlantis, a novel fuzzer capable of generating programs in Rust’s Mid-level Intermediate Representation that are deterministic and free from Undefined Behaviour. It has uncovered 13 previously-unknown bugs in the Rust compiler and LLVM which has caused miscompilations as well as crashes.

30
submitted 2 years ago* (last edited 2 years ago) by snaggen@programming.dev to c/rust@programming.dev
 

#fishshell rewrite-it-in #rust progress, 2023-11-20

76909 rust lines added

48105 / 77063 C++ lines removed

▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░ 62 %

 

Rocket 0.5 Released together with RWF2, a nonprofit organization designed to support Rocket and the surrounding ecosystem, financially and organizationally.

 

The Prettier Bounty is a challenge to write a prettier-compliant pretty printer in Rust

[–] snaggen@programming.dev 5 points 2 years ago (3 children)

I must say I am a bit confused. They are open source, and some previous blog post said they are certifying upstream. Yet, they sell quality managed licenses. So, what are these licenses and why are they needed?

[–] snaggen@programming.dev 19 points 2 years ago

It's LLMs all the way down.

[–] snaggen@programming.dev 4 points 2 years ago* (last edited 2 years ago) (1 children)

FYI: Not the author, just found it to be an interesting read. Notified the author, so lets hope he joins in for a nice discussion.

[–] snaggen@programming.dev 38 points 2 years ago (9 children)

Saudi Arabia felt Twitter was a problem, so they paid Elon to take it down in a way it wouldn't come back.

[–] snaggen@programming.dev 3 points 2 years ago (1 children)

And the Copy question.It is not that s reference has to implement Copy. A reference IS Copy, by the simple fact that it is a primitive value on the stack.

[–] snaggen@programming.dev 5 points 2 years ago* (last edited 2 years ago) (2 children)

A reference &T holds a pointer, ie. the memory adress to the actual content of T

So, in the example x doesn't hold the value 42, it holds the memory adress to the memory there the integer value 42 is stored. So, to access the value, you need to dereference the reference. Which is why you need to use *x when you assign the value.

[–] snaggen@programming.dev 4 points 2 years ago

Fixed it.... I come from a language culture were we like our negations :) Also, not native english speaker, so combine the two and you are in for a ride!

[–] snaggen@programming.dev 10 points 2 years ago* (last edited 2 years ago) (2 children)

But isn't it kind of obvious that if you are able to do 180k times improvement, then the baseline is probably not very impressive to begin with. Still, that doesn't take away that the optimizations were impressive, and that it was interesting to read about it.

[–] snaggen@programming.dev 0 points 2 years ago (1 children)

And if I understand it correctly, it now would be enough for them to ping in this community in a post to get it do show up here... so that might be something for them to think about.

[–] snaggen@programming.dev 2 points 2 years ago* (last edited 2 years ago)

I actually agree, I much prefer articles. However, I found this interesting since it looked at turbopack, parcel, rspack and others and talked about how it comes that the JavaScript ecosystem seems to start to use a lot of rust for their tooling. It was quite long though...

[–] snaggen@programming.dev 8 points 2 years ago

You don't have to use it....

[–] snaggen@programming.dev 1 points 2 years ago* (last edited 2 years ago)

Because of ownership you’re forced into certain hierarchies, which make the code ugly and hard to read.

For non-gc languages you always have ownership, in most languages you just have to keep track of it manually. And whenever the rust compiler gives an error, you would most likely have had a future issue in another language. For gc languages, this may still exist if you share data between threads, causing possilbe race conditions and data corruption. So, the ownership/borrow model is just a formalization of implicit rules that exists in most languages.

view more: ‹ prev next ›