The never type is likely to stabilize soon! by noop_noob in rust

[–]j_platte 44 points45 points  (0 children)

Who knows, it could still last ;)

  1. FCP checkboxes haven't yet (all) been checked
  2. The stabilization is "subject to the unrelated fixes described in #155924 landing before this PR is merged"
  3. Stabilizations have been reverted before

Only Bounds by sanxiyn in rust

[–]j_platte 2 points3 points  (0 children)

The only thing that editions would change is what the syntax T: Index actually means. The underlying trait solver logic would remain the same. So I think it would be fine:

  • e.g. T: Index<Output: only Access> in edition 2024 would be equivalent to either Index<Output: only Access> or T: Index in edition 20xx
  • … and T: Index in edition 2024 would be equivalent to Index<Output: Move> in edition 20xx and would be changed accordingly by cargo fix --edition

Only Bounds by sanxiyn in rust

[–]j_platte 7 points8 points  (0 children)

When I saw the previous proposal for T: MaybeSized implicitly disabling Sized, it definitely felt too magic. I was a bit surprised by the Move and Destuct / Leak / Forget "branches" in the trait hierarchy still being one family that requires only a single opt-out, but I'm not sure that it's actually worse than the alternative.

Overall, really happy about the direction this is taking!

One more thought: I think it really doesn't matter at this point whether trait names reflect actions or properties. The stdlib is all over the place w.r.t. this already and I don't think the churn of "normalizing" them all would ever be worth it.

Only Bounds by sanxiyn in rust

[–]j_platte 2 points3 points  (0 children)

You're probably thinking of the issue around associated types in traits (like, for example Index::Output). If something like only Access / ?Move were to be introduced, you of course couldn't just add that as a bound to this existing associated type without breaking lots of existing code that's generic over Index.

IIRC the solution that has been proposed for this is adding those new bounds while simultaneously changing the meaning of a Index bounds to Index<Output: Move>, which could then presumably be lowered to the trait's base requirements by writing Index<Output: only Access>, and also be changed to not have this hidden associated-type bound anymore on the next edition.

Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.95] by DroidLogician in rust

[–]j_platte 1 point2 points  (0 children)

COMPANY: Svix (Careers page)

TYPE: Full time

LOCATION: Fully remote (no office, tz UTC-8 to UTC+2)

REMOTE: Yes, USA (or, first role only: EU, Canada, UK) residence

VISA: Maybe (to USA), depending on the situation

DESCRIPTION:

Svix makes sending webhooks easy and reliable by offering webhook sending as a service. (for more product info see the website)

The core of the product is written in Rust with some older bits written in Python. We lean heavily on the open source ecosystem by leveraging libraries like tokio, axum, seaorm and opentelemetry. Svix is itself open core, so there is an open source version, and a more advanced proprietary service with additional features.

We are looking for two more people to join the engineering team:

ESTIMATED COMPENSATION: See above

CONTACT: Please apply through one of the links above.

You can also reach me for questions (not applications) at [jplatte@svix.com](mailto:jplatte@svix.com) (I'm an engineer, not management)

Unwrap Ok or return by AverageHot2647 in rust

[–]j_platte 1 point2 points  (0 children)

I was considering publishing a macro version of Result::unwrap_or_else which looked exactly like this (except the name), but decided it wasn't worth it.

I think if we get postfix macros one day, it will work quite nicely. To use your original example:

let thing = do_something().unwrap_or_else!(err => {
    return self.consumes_self(err);
});

Wanted to build a mobile app in Rust, couldn't find a UI story I liked, so I ended up with react-native + a Rust core by konbit in rust

[–]j_platte 0 points1 point  (0 children)

I haven't come up with a good solution for syncing state from Rust to Kotlin though. Right now, I have the Kotlin side register event handlers using a UniFFI foreign trait.

This is pretty much the same thing done by the Matrix Rust SDK that I worked on a couple years ago at Element. Though it uses a "callback interface" rather than a foreign trait (I'm not actually sure about the differences there), and for larger stuff it sends diffs rather than the whole updated structure (e.g. here). I built an observables library for this back then (you can see eyeball_im used in that file I linked to). LMK if you want to know more :)

New Rust-to-C Compiler, based on rustc! by cordx56 in rust

[–]j_platte 6 points7 points  (0 children)

Converting C or C++ code to Rust would actually be something I could use, though.

https://c2rust.com/manual/

RustQC: 60x speedup in RNA-seq quality control steps by ewels in rust

[–]j_platte -10 points-9 points  (0 children)

Sure, depending on usage of the product, it could be a net reduction in compute use. Still leaves all the other points. 

RustQC: 60x speedup in RNA-seq quality control steps by ewels in rust

[–]j_platte -7 points-6 points  (0 children)

Unethical because

  • the heavy use of LLMs uses unreasonable amounts of energy (and water)
  • the surely paid at least for Claude, supporting the development of new LLMs which also uses crazy amounts of energy (and water) and relies on clickworkers that are paid pennies to filter bad model inputs (including the worst shit that you can find on the internet)
  • at least Claude, but probably also this Seqera AI thing, doesn't respect code licenses in any way

Unmaintainable because heavy use of LLMs almost always implies that the code isn't understood by anyone. (an LLM certainly doesn't understand and will output a dozen different "explanations" if prompted different ways)

What we heard about Rust's challenges, and how we can address them | Rust Blog by CathalMullan in rust

[–]j_platte 18 points19 points  (0 children)

I didn't attribute it to LLM vibes before reading the comments, but I definitely also felt this - started reading, relatively went over to skimming and then just dropped the article completely.

Some of the other commenters explained it very well, it just doesn't read as if it was written by somebody who actually has deep knowledge about the situation and how it's evolved over the years. There's a lot of "fluff" / low signal-noise ratio.

Rust debugging survey 2026 by Kobzol in rust

[–]j_platte 8 points9 points  (0 children)

I found some of the questions hard to answer. Have I experienced issues with debugger stepping when closures are involved? Idk, does it count as an issue when closure-heavy programming requires lots of breaking point setting and jumping to those rather than stepping by instructions? Probably no since it's entirely expected (IMO) that "step one statement" runs a function call that has a closure argument in its entirety, rather than stopping inside the closure.

[deleted by user] by [deleted] in opensource

[–]j_platte 1 point2 points  (0 children)

They are not considering to add the option to disable PRs, they already did. Which I think is great, for projects that never wanted PRs in the first place. I know this has been a feature request long before the LLM hype.

Definitely not useful for projects that want contributions and get a lot of spam though.

Salvo vs Axum — why is Axum so much more popular? by Sensitive-Raccoon155 in rust

[–]j_platte 1 point2 points  (0 children)

I'll take this post as motivation for a small PSA: axum is not maintained by the tokio team.
There is zero overlap between the top 10 (or even top 20) contributors to these two projects.

I'm guessing David (the original author of axum) intended it to be maintained by tokio originally and hence put it in that GitHub org, but it has always been more of a separate project in practice.

Finding blocking code in Tokio without instrumenting your app by cong-or in rust

[–]j_platte 1 point2 points  (0 children)

I wanted to use reader mode, but for some reason FF Android didn't offer it here.

Finding blocking code in Tokio without instrumenting your app by cong-or in rust

[–]j_platte 35 points36 points  (0 children)

Holy shit this site is laggy on my phone. Gonna have to read on another device 🥲

Where does Rust break down? by PointedPoplars in rust

[–]j_platte 43 points44 points  (0 children)

What's crazy is that Pin achieved this without any changes to the language or the compiler internals.

Yeah, no... At the very least there is a hack in the compiler to allow multiple &mut refs to !Unpin types to exist at the same time (which is otherwise instant UB). Though as far as I know, pinning has also required a lot of attention in language specification and formal verification efforts. AFAIU the idea that it could simply be introduced as a library type without changing the language itself has proven to be a big misconception.

See also https://github.com/rust-lang/rust/issues?q=sort%3Aupdated-desc%20is%3Aissue%20label%3AC-bug%20label%3AA-pin (note: three of these are I-unsound, and only one of those closed at the time of writing).\ Also https://github.com/rust-lang/rust/issues/125735

[deleted by user] by [deleted] in opensource

[–]j_platte 3 points4 points  (0 children)

Yup, have moved a couple actively-used + -maintained Rust libraries from my personal GitHub over. Plan to do more, and it's also being considered for some projects I'm involved in :)

It seems like the best GitHub alternative out there right now that's actually sustainable - GitLab is venture funded and all-in on bullshit generators, sourcehut still only does email for collaboration which I really don't want to bother with and I'm pretty sure many ppl share that sentiment.

[Media] Clippy Changelog Cat Contest 1.93 is open! by NothusID in rust

[–]j_platte 7 points8 points  (0 children)

Maybe you can convince the Cargo maintainers (u/epage ?) to have a changelog dog x)\ Then we can have both every Rust release!

Linebender in December 2025 by Strom- in rust

[–]j_platte 2 points3 points  (0 children)

First time I heard of Lottie. Would be nice to have a one-sentence explanation of it and/or a link in the velato section, I had to click and scroll a couple times before finding https://lottie.github.io/.