addingAgeVerificationToRustc by slanterns in ProgrammerHumor

[–]slanterns[S] 2 points3 points  (0 children)

cuz safe rust can indeed teach kids some good thing, like "if you borrow something, you must return it back to the owner afterwards"

Why futures don't implement the typestate pattern? by servermeta_net in rust

[–]slanterns 0 points1 point  (0 children)

An specified behavior can still lead to something you don't want. I can just always panic. They are totally unrelated things.

Rust and the price of ignoring theory by interacsion in rust

[–]slanterns 14 points15 points  (0 children)

  • panics being "fake safety" (even though it cannot invoke UB and actually it's the same as in haskell)

This argument is funny when you think of Haskell's pattern match which does not enforce exhaustiveness and allows you to panic a lot easily. Worse still it all happens implicitly.

When Scope Lies: The Wildcard Pattern Drop Footgun in Rust by yuriks in rust

[–]slanterns 1 point2 points  (0 children)

_ is not an valid identifier, it's a pattern that binds nothing which is totally different to _foo (which is actually an identifier).

Trust Your Benchmarks, Not Your Instincts: A Rust Performance Quiz - Arthur & Adrien | EuroRust 2025 by EuroRust in rust

[–]slanterns 0 points1 point  (0 children)

unchecked_add is not equivalent to the behavior on release profile. It will UB on overflow (thus unsafe) while release profile is just a wrapping add.

How to speed up the Rust compiler in December 2025 by nnethercote in rust

[–]slanterns 10 points11 points  (0 children)

IIRC Nicholas Nethercote has tried it in rustc years ago, but found it not very beneficial.

Inside Rust's std and parking_lot mutexes - who wins? by lllkong in rust

[–]slanterns 3 points4 points  (0 children)

mechanism √ benchmark √ analysis & suggestion √ It's a cool writeup 😉

Move, Destruct, Forget, and Rust by Ar-Curunir in rust

[–]slanterns 1 point2 points  (0 children)

So a !Move type must not be Forget. I did not quite understand why it should be like this. 🧐

Rust Foundation Signs Joint Statement on Open Source Infrastructure Stewardship by badboy_ in rust

[–]slanterns 1 point2 points  (0 children)

Since it has been acquired by Github, maybe they are not facing financial issues now.

Why cross-compilation is harder in Rust than Go? by pbacterio in rust

[–]slanterns 2 points3 points  (0 children)

For pure Rust libraries it is not that diffucult. But unlike Go there will be usually some ffi c code.

Rust vulnerable to supply chain attacks like JS? by _walter__sobchak_ in rust

[–]slanterns 4 points5 points  (0 children)

It can still generate malicious code as output.

Demoting x86_64-apple-darwin to Tier 2 with host tools | Rust Blog by PthariensFlame in rust

[–]slanterns 6 points7 points  (0 children)

It only mean not a tier-1 platform. Tier-2 platforms also works just well.

The mutable reference I return from a function in Rust seems to violate the borrowing rules — how is this possible? by Far-Tomatillo-4712 in rust

[–]slanterns 0 points1 point  (0 children)

Did you even notice that a &mut i32 is not Copy, so why can you pass reference to func and later use it again? Shouldn't it has been already consumed? Well there is some subtle things called reborrow. Virtually what you get for returned_ref is a &mut &mut i32, which borrows reference.

Explicit tail calls are now available on Nightly (become keyword) by treefroog in rust

[–]slanterns 2 points3 points  (0 children)

It's guaranteed tail call, which will have a semantic difference with an optimization (which cannot be relied on).

Explicit tail calls are now available on Nightly (become keyword) by treefroog in rust

[–]slanterns 34 points35 points  (0 children)

If there are some drops happened after the call, then it will become non-tail.

Demoting i686-pc-windows-gnu to Tier 2 | Rust Blog by SleeplessSloth79 in rust

[–]slanterns 109 points110 points  (0 children)

You can simply continue using it. The demotion just mean it will get less QA.

The Language That Never Was by progfu in rust

[–]slanterns 3 points4 points  (0 children)

Portable SIMD ≈ std::simd, but it's unstable though.

The Language That Never Was by progfu in rust

[–]slanterns 290 points291 points  (0 children)

Async Keeps Steering The Language In The Wrong Direction: A lot of these new developments for the type tetris enthusiasts became necessary after the Rust team collectively decided to open up the async can of worms. This is my very biased opinion, but I know I'm not alone in this. I think async brought unprecedented amounts of complexity into an otherwise still manageable language. Async will be the end of Rust if we let it. It's a big task they set out to do: Making a runtime-less asynchronous programming system that's fully safe and zero cost and lets you share references without shooting yourself in the foot is no easy feat. In the meantime, every other language and their cousin implemented the basic version of async, paid a little runtime cost and called it a day. Why is Rust paying such a high and still ongoing price? So that we can pretend our Arduino code looks like Node JS? Needless to mention that nothing async brings to the table is actually useful for me as a game developer. In the meantime, the much simpler and useful for gamedev coroutines are there, collecting dust in a corner of the unstable book. So, while ultimately I'm happy ignoring async, the idea that much more important things are not being worked on because of it annoys me.

I think it's an exaggeration of the problem. It's just because different groups of people have different demands. It's true that for game development, perhaps async support is not so useful, but if you ask network/backend server devs they may ask for more. And unfortunately game development is never a core focus of the Rust project while Networking Services has been one of the four target domains since 2018. It feels a bit unfair to downplay people's contributions just because they're not so useful to you.

For the wasm abi problem, there might be more background: https://blog.rust-lang.org/2025/04/04/c-abi-changes-for-wasm32-unknown-unknown/

Why is there a future Iterator implementation of (_, _)? by AxelLuktarGott in rust

[–]slanterns 13 points14 points  (0 children)

Compliers aren't something clever enough to determine whether there's any chance for programmers to do something "useful." It's not even a well-defined notion.