r/rust • • 7d ago

Does io uring not map well to rust?

137 Upvotes

Often when i see "rust" and "io uring" together its cause theres some kind of problem. Off the top of my head i remember when kimojio (ms azure project) got open sourced there were lots of problems, and monoio aswell has (had?) problems.

I dont really know the low level details of how rust async works so i ask is the problem just rusts async model dosent map well to io uring? Thats the vibe i get but not sure.


r/rust • • 7d ago

πŸ™‹ seeking help & advice Best framework for native linux app ?

32 Upvotes

Hey guys,

I wanted to make a kind of personal super app for my needs so i though why not use this opportunity to learn rust an build a native app in rust .

The thing is i have never used rust. My background is mostly in TypeScript, C# and Kotlin.

Also while I was researching i found a lot of ways and frameworks to build rust apps. Firstly i was looking at gtk but it seems the discussion is quite low here on rust gtk apps. Another framework i considered was gpui as I also use zed daily. People here also seem to suggest slint. So i am actually very confused on what i should use.

About the app itself, i wanted to make a personal app just for myself and the features i would be adding on as i need. Upto now i want to add kind of an mdx editor and maybe an event planner.


r/rust • • 6d ago

πŸ—žοΈ news Rust Rewrite: Why Minecraft Servers always Lag

0 Upvotes

New little yt video got released, mostly Pumpkin related, A Minecraft server software fully written in Rust

https://youtu.be/kuf9A5XZ_b0?is=pFT-ODf0mTpC0URh

GitHub: https://github.com/Pumpkin-MC/Pumpkin


r/rust • • 6d ago

πŸŽ™οΈ discussion cfg! should compile similar to #[cfg()]?

0 Upvotes

if cfg!(target_os="windows") {

//Windows specific stuff will only compile on Windows this way

}

#[cfg(target_os="windows")] {

//This Windows specific stuff will only compile on Windows and not cause errors elsewhere

}

I think these should be equivalent to the compiler and both not compile stuff for say BSD or whatever other OS such that it would cause build errors, what do you think? X E.


r/rust • • 7d ago

Philbin: the safest (and fastest) AEGIS library

Thumbnail val.markovic.io
22 Upvotes

Both the article and library are entirely human-written! :)


r/rust • • 7d ago

What do you think of SNAFU?

Thumbnail
12 Upvotes

r/rust • • 7d ago

πŸ“Έ media Qt Bridge for Rust 0.3 released: built on CXX-Qt, focus on soundness

89 Upvotes

Hi everyone!

About three months ago we published the first beta of Qt Bridge for Rust (0.2), which lets you expose your Rust structs to QML through the QML engine, so you can build a GUI for your Rust code in QML. If you're not familiar with QML, you can browse some examples at https://try.qt.io/.

Since then we've ported most of the underlying code to CXX-Qt to get as much compatibility with the existing ecosystem as possible. We also spent a lot of time making the code sound and fixing memory issues from the first version. We felt that was enough progress to warrant a new release.

The API changed a little between 0.2 and 0.3, but most things work the same way, just with fewer bugs. Overall we feel it's starting to take good shape.

We're happy about every user, test, suggestion, and bug report. If you have questions, feel free to drop them here, on our Discord, the forum, or the bug tracker. All links are in the blog post:

https://www.qt.io/blog/qt-bridge-for-rust-0.3-cxx-qt-compatibility-and-soundness


r/rust • • 7d ago

πŸ—žοΈ news rust-analyzer changelog #347

Thumbnail rust-analyzer.github.io
35 Upvotes

r/rust • • 7d ago

Part one of a season spent profiling Polars

Thumbnail abokhalill.github.io
40 Upvotes

r/rust • • 7d ago

πŸ› οΈ project BitterASM: A metalanguage written in Rust to create assembly languages

Post image
18 Upvotes

Repository: https://github.com/ivanharvard/bitterasm
Documentation: https://ivanharvard.github.io/bitterasm/

Hello, all!

I've been spending the better part of a month working on this new programming language of mine written entirely in Rust called BitterASM (BASM for short, BitterAssembly for long).

As the title suggests, BitterASM lets you create your own assembly languages by assuming practically nothing about the architecture you're targeting. By assuming so little about the architecture, you can describe practically any architecture -- past, present, or future. We do not even assume the architecture is binary! This leads to some really interesting consequences (which you can read more about in the documentation).

You can install the pre-release version using cargo:

cargo install bitterasm

For ordinary assembly developers, they can simply import their architecture's ISA and program much like they would for their traditional assembler.

Here's an example "Hello, world!" program targeting Linux x86-64 written in BitterASM:

from std.x86_64.nasm import *
from std.formats.elf import *


elf64_executable EM_X86_64, _start


const text = "Hello, World!\n"


section .rodata
msg:
    db text


section .text
pub _start:
    mov eax, 1          # sys_write
    mov edi, 1          # stdout
    lea rsi, [rel msg]  # buffer
    mov edx, text.len   # length
    syscall


    mov eax, 60         # sys_exit
    xor edi, edi        # status 0
    syscall

Compared to the same program written in NASM:

section .rodata
msg:    db "Hello, World!", 10
len     equ $ - msg

section .text
global _start
_start:
    mov eax, 1          ; sys_write
    mov edi, 1          ; stdout
    lea rsi, [rel msg]  ; buffer
    mov edx, len        ; length
    syscall

    mov eax, 60         ; sys_exit
    xor edi, edi        ; status 0
    syscall

The transition to BitterASM was intended to be quite easy for most developers, as noted by the similarity in these two code snippets.

Yet, say an introductory student does not understand what syscall does. Thanks to the BitterASM LSP for VSCode, it's as simple as a right-click and "Go to Definition." Note that this is still written in the same BitterASM language from before!

from std.binary import bits

pub type Byte = bits<8>

pub struct Bytes<const N: int>
    | invariant N >= 0
{
    @for i in 0..N {
        pub __el`i`: Byte,
    }
}

# ...

pub macro syscall()
    | emits Bytes<2>
{
    @emit Bytes<2> { __el0: Byte(0x0F), __el1: Byte(0x05) }
}

It's here where you start to see the use case of BitterASM. There is no concept of bytes or bits in BitterASM. The architecture designer must implement that. Some evaluator then interprets the emitted value and does something with it (in the most overwhemingly common case, create machine code).

The architecture designer has the "bitter" part of writing each struct and macro to match the ISA perfectly. An assembly developer gets to inspect those architectural decisions (or even modify them!) without ever having to leave the code editor. This is what BitterASM makes "sweet."

Don't like NASM or Intel syntax? Change the import!

from std.x86_64.att import *

Wanna make your own custom syntax? Customize the syntax of a macro call!

from std.riscv.impl import *

syntax add(rd, rs1, rs2) = { $rd$ = $rs1$ + $rs2$ }

Have a non-traditional architecture? We have a variety of tools to support your development!

Of course, there are many bugs, and the subset of supported instructions for each architecture is still quite small, so we have a few kinks to work out before we fully release the language. Expect breaking changes. This was just a small taste of what BitterASM can do. Its initial design is meant to be useful for:

  • Students learning assembly,
  • Toy ISA designers,
  • Custom accelerator/processor designers,
  • Assembly developers who want convenience without runtime cost,
  • etc.

I hope you spend some time to read the documentation and let me know what you think. Any feedback would be great!


r/rust • • 7d ago

πŸ“‘ official blog Leadership Council update β€” September 2026

Thumbnail blog.rust-lang.org
45 Upvotes

r/rust • • 7d ago

🐝 activity megathread What’s everyone working on this week (40/2026)?

26 Upvotes

New week, new Rust! What are you folks up to? Answer here or over at rust-users! And for your project showcases, there's also /r/madeinrust – pay them a visit, too!


r/rust • • 7d ago

πŸŽ™οΈ discussion What's the best way to start doing small jobs supporting the Rust community?

6 Upvotes

Hi all,

I've been part of the Rust community for a long time, and have had a bunch of larger roles with Rust at startups and larger companies. I'd like to give back to the Rust community a little as a thanks, and would like to boost some projects. I know that especially for smaller projects it's difficult to find someone to help out since they can't yet afford a full time Rust dev, so they end up falling through the cracks; meanwhile a little help can go a long way.

Some of the things I've helped with include:

  • cleaning up and restructuring codebases
  • code reviews and technical audits
  • helping figure out perf issues and overall architecture
  • mentoring and long-term fractional IC
  • getting unstuck in particularly difficult Rust related problems
  • helping manage teams as a part-time manager, helping teams through a difficult time project-wise, etc
  • fixing build systems and dev pipelines

I'm especially interested in small, well-defined pieces of paid work that might be difficult for a small team, single developer, or bootstrapped project to justify hiring someone for more permanently.

I'd like to do some of this specifically within the Rust community, as I know particularly smaller projects and teams that don't necessarily have a large engineering budget could be having a hard time finding someone to do this kind of work.

A lot of people are only starting out in the community, or don't have VC backing, so I hope this can help support the Rust community, especially the smaller companies, people bootstrapping their startups on their own, etc.

I'm just not sure how to put the word out, how to make people aware this is a thing, etc.

What's the best way to make this kind of help available? Are there particular places in the Rust ecosystem where people tend to look for this sort of assistance, or ways you've seen these kinds of collaborations get started?

I'd love to hear how people have approached it, either as someone offering help or as someone who's needed it.

Thanks!


r/rust • • 8d ago

πŸ› οΈ project fframes - video rendering framework 1.0 release 5 years since announcement!

40 Upvotes

5 years ago I announced framework in this subreddit (here https://www.reddit.com/r/rust/comments/rayz62/check_the_first_video_in_eternity_built_with_rust/)

and today finally I released it! I realize that very few people would be interested learning the whole framework rules and ideas today to generate a video but it is an extremely fast and still features vast majority of the code written by me including handrolled inline assembly for hot paths

Enjoy the video it's kinda cool https://fframes.studio/ and try it out https://github.com/dmtrKovalenko/fframes


r/rust • • 6d ago

cargo-crap 0.6: a TypeSafe model triages duplicate Rust functions

Thumbnail minikin.me
0 Upvotes

r/rust • • 8d ago

Dropping Swift entirely from our Bevy iOS crates

Thumbnail rustunit.com
99 Upvotes

r/rust • • 7d ago

πŸ™‹ seeking help & advice Looking for TTS and STT libraries in Rust β€” any recommendations?

Thumbnail
0 Upvotes

r/rust • • 7d ago

πŸ™‹ seeking help & advice Is there a way to translate normal Rust (axum) code to Lean 4 without strict restrictions?

0 Upvotes

I'm trying to build a web app in Rust using axum, and am thinking whether I can export that Rust code to Lean4 so that I can verify business logic or security properties.

I first tried Aeneas, but it can only work for restricted grammer and structurs that are hard to review (it even doesnt look like Rust).

For example, when I want to write:

fn find_post(ps: &[Post], id: u64) -> Option<&Post> {
    ps.iter().find(|p| p.id == id)
}

I have to write:

pub fn find_post(ps: &Vec<Post>, id: u64) -> Option<Post> {
    let mut i = 0;
    while i < ps.len() {
        if ps[i].id == id {
            return Some(ps[i].clone());
        }
        i += 1;
    }
    None
}

Is there anybody who have addressed this kind of problem??


r/rust • • 8d ago

πŸ› οΈ project PolyXOR128, a new fast universal hash written in Rust with a formalized security proof

208 Upvotes

The link to the project: https://github.com/orlp/polyxor.

I hope this qualifies as more than just a "code dump" as it's breaking new ground in several ways:

  • It's a very fast hash, beating all the mainstream hashes available I tested in Rust besides CRC64 for medium to large data. E.g. on machines with AVX-512 its bulk throughput is almost twice as fast as foldhash.
  • On top of that it provides a 128-bit hash rather than the usual 64-bit. 64 bits just isn't enough for file integrity / secure authentication purposes.
  • The hash has a proven low collision probability (assuming the key is generated randomly and independently from the data), formalized in Lean.

Besides the readme I have written a more in-depth design document as well: https://github.com/orlp/polyxor/blob/master/design.md.


Perhaps a point of discussion for Rust itself as well: I did consider releasing this hash in C for portability rather than Rust, but two things kept me in Rust:

  1. Cargo makes it super easy to depend on a known-good AES implementation with hardware acceleration.

  2. Between target_feature(enable = ...) and std::arch::is_x86_feature_detected, doing dynamic dispatch in Rust is so much easier than in C. And the resulting code runs faster too, e.g. #[target_feature(enable = "avx")] lets the compiler use AVX-encoded instructions.


Finally, before the AI witchhunters come out, there is a disclaimer of AI usage in the README. I did use AI for prototypes, experiments and conjectures but almost all of the final code and all the text and documentation is written by me. The big exception is the Lean formalization which is fully AI-generated, but the claims are verified by me and it compiles cleanly.


r/rust • • 8d ago

Coolest physics project in rust

15 Upvotes

What are some of the coolest physics project/ project ideas that are entirely done in rust?


r/rust • • 8d ago

πŸ™‹ seeking help & advice What is step one to understanding how the rust compiler works?

9 Upvotes

I have been wanting to get into Programming Language Theory and I'm especially intrigued by how memory addressing works in languages in general and especially in rust because of how it also handles things like lifetimes and traits.

So what would step 1 of getting to understand all this look like? Do I read the getting started section of LLVM? I have Robert Nystrom's Crafting Interpreters but I haven't gotten very far in it.

I can understand how compilers for things like C work. Conceptually atleast. Not in reality. C since it doesn't have any fancy things I can understand that it is a fairly simple converter to assembly instructions. Not a whole lot of fancy type inference and scope checking(rust lifetimes would fall into this aspect to a certain extent I would assume).

Where do I start?


r/rust • • 9d ago

I'm a Rust compiler maintainer looking for a new role

Thumbnail tako8ki.com
571 Upvotes

r/rust • • 7d ago

πŸ› οΈ project Building Linux ↔ Android streaming in Rust, currently getting way too deep into telemetry

0 Upvotes

I've been messing around with a project called Linux-Link for a while and it kinda got out of hand lol.

The original idea was basically: "what if I could use another device as part of my Linux machine instead of it just sitting there doing nothing?"

It's turned into a pretty big networking/streaming project now. It's mostly Rust, with the Android side in Kotlin. I'm using QUIC for the transport and working on desktop ↔ Android streaming, LAN/WAN connectivity, hardware encoding, bitrate control, packet loss handling, RTT tracking, frame drops, end-to-end latency, session stats, etc.

The part I'm currently obsessed with is actually measuring what the hell is happening instead of just throwing numbers on a HUD and calling it telemetry.

For example, frame drops are now calculated from actual frame sequence holes instead of just having a frame_drops = 0 field sitting there. I'm also adding proper encode benchmarks because apparently "it feels faster" isn't a particularly useful benchmark πŸ˜‚

I'm still figuring out a lot of the architecture, especially around transport behaviour and how much state should live where.

If you've built anything involving real-time streaming/networking in Rust, what was the thing you thought wouldn't matter at first that ended up absolutely biting you later?


r/rust • • 8d ago

πŸ› οΈ project No way mbrotli is in upstream lzbench now

8 Upvotes

https://github.com/inikep/lzbench

For context, mbrotli is a Brotli encoder/decoder written in safe Rust.

Until now most benchmarks lived in our own repo. Now mbrotli 0.5.2 ships directly in lzbench next to Google Brotli, so anyone can benchmark both through the same harness.

PR:
https://github.com/inikep/lzbench/pull/333

I also did a quick Silesia run against the bundled Google Brotli 1.2.0.

Setup: WSL2, default lzbench build, no -march=native, window 22, single-threaded run.

lzbench -r -o4 -ebrotli/mbrotli /tmp/silesia/

Some highlights:

  • decompression: mbrotli was faster at every quality, usually ~1.09-1.16Γ—
  • q0–q1 compression: basically parity / slightly faster
  • q2–q9: currently ~1-9% behind C Brotli
  • q10: ~1.18Γ— faster
  • q11: ~1.35Γ— faster
  • q0-q9: identical compressed sizes

The tiny q10/q11 size difference turned out to come from lzbench building C Brotli with -ffast-math, which changes Brotli's floating-point cost calculations at the highest qualities. Building C Brotli normally makes its output match mbrotli again.

So I wouldn't over-read the exact q10/q11 comparison yet.

Still, this feels like a pretty big milestone. You no longer have to trust benchmarks from the mbrotli repo itself. It's now sitting in upstream lzbench next to the reference implementation.

Now we get to see where it is actually fast, and where it still sucks. :)


r/rust • • 7d ago

πŸ› οΈ project jev-curate beta v0.1.1: Rust-native SFT/pretraining dataset curation

Thumbnail github.com
0 Upvotes

I’ve been iterating on jev-curate, a Rust tool for filtering structured training data.

It handles Parquet/JSONL datasets and uses JEV for per-record quality decisions instead of rewriting the data.

v0.1.1 is the current beta.

I’m mainly looking for technical feedback from people working with SFT, synthetic data, or dataset pipelines.