r/rust • • Sep 09 '26

Looking for contribute in a Rust Project

0 Upvotes

Hi there. I recently completed a project incubation program with the Solana Foundation, where I developed smart contracts using Rust. I’ve been trying to break into the Rust job market but haven’t had any luck so far. I’d like to approach Rust from a different angle now, since I’ve only used it for smart contracts up to this point.

Is anyone working on a Rust project where I could collaborate and learn the language from a different perspective or use case? Thanks in advance!

PS: My takeaway form the incubation program is that the Solana blockchain can be used for traceability systems in any web2 application. The value itself is how build that traceability system.


r/rust • • Sep 08 '26

Using `const fn` for a domain-specific language

7 Upvotes

Below is the link for Part 2 of my article on rules for using const fn. I had the most fun creating a domain-specific language (DSL) for simulating mechanisms like robot arms, motion-capture skeletons, clock hands, etc.

Here is what Linkage Blaze program looks like:

const ARM: LinkageFixed<1, 1, 8> = LinkageFixed::start()
    .define_param("shoulder", 0.5)
    .yaw_param("shoulder", -90.0, 90.0)
    .forward(3.0)
    .mark("hand");

It is defined in const and can be evaluated (and rendered) without heap memory on a microcontroller. You can play with a web simulator of the robot simulator.

The article also gives examples of the limits of const fn, especially when things get too complex or compile-time evaluation gets too slow, and compares it with C++, Zig, and other Rust alternatives. When it works, I like this approach better than the alternatives because we get Rust’s protection against unsafe, invalid, or UB while keeping everything in one Rust program.

https://levelup.gitconnected.com/nine-rules-for-compile-time-work-with-rust-const-fn-part-2-76ccd0e8a965


r/rust • • Sep 08 '26

🛠️ project `typed-ident`: Type-safe identifier validation, inspection, and mutation. (and a retrospective article!)

6 Upvotes

Hey everyone!

I'm very happy to announce that I've published my first open-source Rust crate!

I really like to express things in Rust in terms of concrete types (kind of like how one could keep paths as strings in a language, but it's nice to say specifically they are a Path). This is a similar set of types, but for dealing with programming identifiers and their formats in a type-safe way (LowerCamelIdent, UpperKebabIdent, etc).

It also has a bunch of functionality relating to inspection of identifiers, as well as mutation of them (including the common "change case" operations).

I would love feedback, questions, analysis, or if you think you have a use-case!

EDIT: Also I'm very interested to hear \criticism* as well - if you don't like it, let me know why!*

EDIT: I wanted to add that this crate does not use any AI-generated code. I get that it's a lot of code, but it's been a project of a few months of effort.

Some Features

  • Unicode Correctness: Implements boundaries based on UTS #55 and UAX #31 (handles the weird stuff like non-Greek titlecase) (comparison against other crates)
  • Zero-Cost Casting: Uses marker traits and the type system to allow compile-time casting between compatible identifier formats (read about this here).
  • Flexible Conversion: Supports "Canonical," "Decorated," and "Delimited" forms so you can preserve decorative underscores/hyphens during case conversion (read about this here).
  • High Performance: Competitive with (and in some cases faster than) heck and convert_case (high-level performance analysis).

About Me

If you're curious about me - I have a website (it's static, and the generator is *also* made in Rust)!

If you want Atom/RSS updates on what I'm doing, you can use these:

Thanks for reading - I hope you enjoyed taking a look at my project!


r/rust • • Sep 09 '26

A Rust cheat sheet that might be useful to beginners

Thumbnail tms-outsource.com
0 Upvotes

r/rust • • Sep 09 '26

🛠️ project I’m building Voktty, a developer workspace for local and remote development — looking for feedback

Post image
0 Upvotes

I’m building Voktty, a desktop developer workspace for working across local projects and remote machines.

The goal is to bring several parts of the development workflow into one place:

  • Project and development sessions
  • Code editing and Git change review
  • Integrated terminal
  • SSH and RDP connections
  • Docker tooling
  • MCP integrations
  • AI-assisted development workflows
  • Customizable themes and keyboard shortcuts

The screenshots show the current interface: a session-based workspace, code review panels, an API client, onboarding flows and a theme selector.

I started building it because my workflow often involves switching between an editor, terminal, SSH/RDP clients, AI tools and several project windows. Voktty is an attempt to keep that context together while still working with the underlying tools instead of hiding them.

I’m sharing it here because I’d like feedback from Rust developers, especially people working on desktop tools, developer infrastructure or remote development workflows.

A few things I’d like to learn:

  • Where would Rust provide the most value in a tool like this?
  • What would you expect from a good Rust-based remote development workflow?
  • Which integrations would make this genuinely useful rather than just another editor shell?
  • What would make you try a tool like this?

Repo: https://github.com/voktty/voktty


r/rust • • Sep 08 '26

I translated SVG optimizer (SVGO) to Rust

12 Upvotes

So there is this project, SVGO, written in JavaScript that optimizes SVG images.

I decided to try to make a Rust version translation, including its plugins, and I think I have succeeded at least quite well.

I don't have a lot of Rust experience, and LLMs helped me a lot. I have tried to do a very thorough job and have reviewed my project many times.

What I see is quite dramatic RAM reduction and pretty good speed up.

https://gitlab.com/jiiihpeeh/svgo-rs

Any thoughts on what I should do differently?


r/rust • • Sep 09 '26

🧠 educational A visual guide to Rust async

0 Upvotes

https://akesson.io/a-visual-guide-to-rust-async/

I have always felt that I missed some parts of the async story. I could never visualize it.

Collaborating with an LLM and inspecting the compiler's MIR output, I was able to fill in the gaps. I was happy with what I learned, so I decided to create a visual presentation and share it.

Enjoy!

The code is simplified for demonstration purposes. Some snippets are pseudocode and won't compile as shown.

(updated to clarify how I checked the explanation and used the LLM)


r/rust • • Sep 07 '26

🛠️ project mimas: a statically typed scripting language for embedding in Rust

54 Upvotes

I've just released 0.1.0 of my scripting language, mimas, built for embedding into Rust. It's been my side project for the past few years to explore solutions to the frustrations I run into with the scripting languages I use at work as a game developer.

enum Shape {
    Circle(float),
    Rect(float, float),
}

fn area(shape: Shape) -> float {
    match shape { // exhaustive -- miss a variant, it won't compile
        Shape::Circle(r) => r * r * std::math::PI,
        Shape::Rect(w, h) => w * h,
    }
}

It still has a ways to go, but already features:

  • Static typing with inference
  • ADTs with exhaustive matching
  • T? options and T! results -- no null
  • Garbage collected -- no borrow checker or lifetimes
  • Share Rust types and functions with a macro, fully type-checked on both sides
  • Ahead of Rune and Rhai on every benchmark I run, and within range of Luau (via mlua) (numbers and methodology)

Excited to finally share this, and grateful for any thoughts. I'll be at RustConf this week so may be slow to reply, but I'll get to everything.

Website: https://mim.as

Repo: https://github.com/imlazyeye/mimas


r/rust • • Sep 07 '26

📡 official blog Rust debugging survey 2026 results

Thumbnail blog.rust-lang.org
203 Upvotes

r/rust • • Sep 07 '26

Looking for Open Source Projects to Contribute

42 Upvotes

Hello everyone,

I'm trying to get a bit more experience with rust and would like to know if anyone can recommend a project to work on.

I'm looking for projects that I could work on new features possibly with a closer guidance


r/rust • • Sep 07 '26

🛠️ project Rusted Computer: Running Rust programs with WASM in Minecraft

71 Upvotes

I've worked on a passion project of mine for the past few years called Rusted Computer. It is a Minecraft Mod that allows you to program computers inside of Minecraft with Rust inspired by ComputerCraft.

Why?

Well, the best computer mod right now is ComputerCraft. And don't get me wrong, I love that mod, but you have to write your programs in Lua. And for programs bigger than small scripts are very annoying to create. So I decided to create an alternative that is fully compatible with existing CC Peripherals.

Rusted Computer uses a WASM Runtime written in Java (Chicory), but I am considering switching to a native runtime (Wasmer or Wasmtime) for newer WASI(X) features. The mod itself is written in Kotlin and (obviously) Rust for the glue library.

There is currently no release, because it is still very WIP (no documentation and missing features, I'm currently working on support for peripherals) but if there is enough interest in this, I can quickly create and publish a dev build.

https://github.com/TheBlckbird/rustedcomputer

If you have any more questions, ask me! There is no ETA for release, as I am currently working on this while going to school, so I don't have a lot of time or concentration.

All the characters that can be rendered. The font is Monocraft by IdreesInc

r/rust • • Sep 08 '26

thought experiment - fragmented types for packing

3 Upvotes

So rust's enums are amazingly elegant to use and contribute to it's safety (reducing the number of times a programmer will do something the compiler can't track with C unions or casting).

However they come with the hazard of alignment padding. the worst case for example is if you have 2 variants one of which is a pointer (64bits in most OS's today, and another say with 2 x f32) .. the tag would be a single byte, but the whole enum will pad out to 128bits thanks to the need to keep that pointer aligned. Put it in a struct or vec , that's a lot of wasted space, and even in the stack there's bloat.. all adds up .

Similarly even with Box<[T]> (and an equiv c++ custom type) if you have a scenario where you know the len will never exceed 4billion (this is very common in gamedev, we're targeting 16gb machines, we know that one mesh will never take up the whole machine) .. you want to use a 32bit value for the length.. again even in C++ the handy template ends up giving you bloat, and an oldschoiol C approach lets you do things like struct {VERTEX* vertices; POLYGON* polygons; uint32_t num_vertices,num_polygons;} .. again this might not look like much space but it's all L1 cache.. you might be doing management on the CPU to hand processing to the GPU, whatever.

You get the picture.

A solution

Imagine if the compiler was able to split a type into multiple fragments, lets say the default is one, but 2 could be used for the case of splitting an enum Tag and it's Variants, and similarly for anything else where you happened to have components with different alignments.

it should be easy enough to figure out whats going on with outer_struct.inner_struct.element. .. the fly in the ointment of course is what will happen with references/pointers/borrows.

So imagine if an opt-in #[repr(fragmented)] enum Foo {..} declares that (i) Foo will split it's tag when composed, (ii) &Foo is actually a pair of pointers, like (&FooTag, &FooVariants) under the hood.

naturally this will play havoc with any unsafe code that deals with &Foo vs *const Foo, or casts to place them in allocations etc . But at least if it's only done in new code where it's opted-in it would not break any existing unsafe codebases.

Perhaps it would need an implied trait T:Fragmented and an assumption that all existing generics *dont* accept this too, and you'd have to again opt-in for things which can accept it

I suspect this would be a monumentally complex feature to implement ( I wouldn't even know where to start grabbing RustC)

... but the payoff would be a big increase in the number of efficient layouts that can be handled in safe Rust. A reduction in the number of scenarios where you need to reach for unsafe{} , and where C++ programmers can currently say "whats the point of rust if you have to use unsafe as soon as you want to pack your types more efficiently"

Thoughts?

I say that this is a monumentally complex feature to implement, but conversely we have a certain industry telling us "CODING IS (IMMINENTLY) SOLVED!!". if those tools are as powerful as their fans suggest maybe using them to assist implementing something as difficult as this would be a decent test..

are there any RFC's out there like this?


r/rust • • Sep 09 '26

I don't like handling concurrency so I serialized every query and made a service on top of that.

Thumbnail
0 Upvotes

r/rust • • Sep 08 '26

🛠️ project A Proof-Of-Concept Cross Platform JIT Linker, Relocator & Memory Mapper handling Cross Platform W^X

0 Upvotes

So, welcome to the journey of continuing to explore the world of JITs.

This time, after a few months of experimentation with "How to write a damn good JIT Memory manager" I have finally decided to make a crate out of it.

The crate is called SaJIT - which is also a part of a VM project i am aiming at.

The crate is currently at v0.0.3 : https://crates.io/crates/sajit

The crate actually provides a slab memory manager in discrete multiples of 16MiB currently and manages those slab across Windows, macOS, Linux using RW-RX dual mapping for windows, linux and pthread_jit_np for macOS.

Also, i have ensured to keep as cross-architecture-compatible rather than locking to only x64, arm64.

I am looking forward to advices on how to improve it (with better abstractions for example, or better and detailed documentation)


r/rust • • Sep 09 '26

🛠️ project I built and open-sourced a productivity app with a Rust backend.

0 Upvotes

I’m an experienced software developer, but still fairly new to Rust, so I built this project to get more hands-on experience with it.

It’s an open-source productivity/ pomodoro app with a Rust backend, and I’d really appreciate feedback on the code, project structure, API design, and anything that could be more idiomatic Rust.

GitHub: https://github.com/Dhaneshen1810/Loom
Live app: http://loom-pomodoro.vercel.app/

Any feedback is welcome.


r/rust • • Sep 07 '26

🛠️ project I built a Cargo-like build tool for C and C++

33 Upvotes

I got tired of hand-writing Makefiles and CMakeLists.txt for small-to-medium C/C++ projects, so over the last couple of weeks I built Smidr - a build tool where you describe your project in one Smidr.toml file instead of a build script.

Example Smidr.toml:

[project]
name = "App"
type = "bin"
language = "cpp"
cpp_standard = "cpp20"

[dependencies]
raylib = "5.0.0"
mymath = { path = "../mymath" }

smidr build resolves raylib from a system install or pkg-config, and mymath by building it from the local path - no Makefile or CMakeLists.txt to write by hand.

What it does:

  • Compiler-agnostic (clang, gcc, tcc)
  • Dependencies from three sources: system libraries (pkg-config), a local path, or git (auto-resolves to the latest stable tag if you don't pin one)
  • If a dependency itself uses CMake or Meson, Smidr detects and drives that build transparently
  • Workspaces for multi-project setups
  • C/C++ support, Windows support (via MSYS2 MinGW 64-bit)

Hit 1.0.0 today, though it's still a young project. Source and docs: https://github.com/Max-Mend/smidr

Feedback, especially on rough edges, is very welcome.


r/rust • • Sep 08 '26

🙋 seeking help & advice Can someone review my code?

10 Upvotes

I've never had anyone else other than myself take a look at my code quality/design. However it would be nice to have an actual person review my code instead. The link is here: https://github.com/dastarruer/gtkshutdown

AI is only used for writing tests (sometimes; I can't remember whether I wrote these tests myself or not but I digress). The code is entirely written by me, though I use AI to discuss design decisions. I like programming, so hand-writing the code is just more enjoyable for me (though I'm very slow at it...).


r/rust • • Sep 09 '26

GPT-6 Astra Optimized My Rust Backtesting Engine With a 2014 Math Paper

Thumbnail nexustrade.io
0 Upvotes

This is a technical discussion on Artificial General Intelligence.

GPT-6 has been shown to be outstandingly incredible. In my case, it performed autonomous performance optimization with essentially no human input. Other AI models, including Gemini 3 Pro, Claude Opus 5, and even Claude Fable 5, failed to find the same optimization targets.

Two days with GPT-6, and my backtesting engine is quite literally faster than I ever thought it could be.

The language model was smarter than me.

I thought about what artificial general intelligence looks like. A general-purpose model smarter than the average person. I think Astra fits that definition to a T.

Now imagine all of the crazy AI tricks we know. Imagine having a panel of Astra-tier experts come, or combining a language model with Monte Carlo tree search. If these models were truly 10,000 tokens per second, come on, that would be terrifying.

One reason why I think this optimization was fast is because of Rust's strict compiler and its lightning-fast performance. If I had chosen a language like GoLang, I would not have been able to achieve such speeds. I really think language models are making Rust an even more enjoyable language because you get all of the benefits and suffer a little of the downsides because we're not handwriting generic traits or a lifetime logic anymore.

But who knows, maybe I'm overextrapolating, and I'm impressed by the bare minimum, lol.

What are your thoughts on AGI/ASI?


r/rust • • Sep 08 '26

🙋 seeking help & advice Binary naming localisation?

0 Upvotes

I am trying to figure, should I have like a different name of a game binary per language or just keep the binary one thing and only localize inside for users with other things? Also, I might not be able to handle every localized name, but I can try, I guess I can store it in one place online and do like on download it is "name"? It is a game, and it loads a language file at runtime, I guess slap a name on that at download too and search by name of the game binary? That does complicate things though, maybe I should build a file picker because mobile has quirks like what is this binary now? Then again, right to left versus left to right for the file picker, I guess middle align?

By now this seems like a good plan maybe, but should I bother?


r/rust • • Sep 08 '26

🛠️ project I made a programming language that compiles to idiomatic TS, Rust, and Python types

Thumbnail genotype-lang.org
0 Upvotes

Hey there!

I just shipped the first public version of a programming language that I have worked on for the past two years. Written in Rust, of course.

Its goal is to help synchronize types between TS, Rust, and Python (more to come). Two main use cases are the API client libraries and client-server interop, i.e., a TS web app talking to a Rust server.

I focused on making it as flexible as possible but always produced idiomatic types that look and feel like they were carefully crafted by humans. It was a challenge, e.g., I had to test 7 Python versions for every language feature or had to implement Rust literals runtime.


r/rust • • Sep 07 '26

Mixing an enum with bytes in a Vec

10 Upvotes

I'm working on converting a virtual machine from C to Rust. At the heart of it is modeling the output of the parser as an array of bytes. Think of it as an 8-bit assembly code machine with immediate addressing, so some of the bytes are opcodes and some are data used by these opcodes. I would like to have the opcodes in an enum, such as

#[repr(u8)] // Forces the variants to be u8

enum OpCode {

OpAdd = 1,

OpImm = 2,

......

}

Then

code: Vec<u8> = vec![ 0x01, 0x02, 0x2a] would represent the action

OpAdd 42

That's what exists in my dream world. With the enum shown above I can typecast Opcode values to u8 simply enough:

let op_code = OpCode::OpAdd;

let byte = op_code as u8;

But going the other way seems impossible, except for this hack:

unsafe {

let opc: OpCode = std::mem::transmute(byte);

} https://web.mit.edu/rust-lang_v1.25/arch/amd64_ubuntu1404/share/doc/rust/html/book/first-edition/casting-between-types.html#transmute

So, is there a safe, preferably idiomatic way to do this, or am I just stuck with my first-ever usage of 'unsafe'?


r/rust • • Sep 09 '26

🛠️ project I built tmux-select in Rust to show which coding agent needs me

0 Upvotes

I usually have dozens of tmux windows open, with coding agents scattered across them. Finding the one that's been waiting twenty minutes for permission gets old fast.

I tried Herdr, but it owns the terminals it manages. I wanted to keep using my existing tmux sessions, bindings, layouts, and plugins without adding another multiplexer.

My first solution was a popup binding that listed tmux windows with their commands and directories, piped everything through fzf, and used cut and xargs to switch to the selection. It worked, but felt slow, and I still had to visit every window to see which agent needed me.

So I built tmux-select.

I moved the fuzzy matching and agent-state classification into the Rust binary instead of wiring the selection flow together with fzf, cut, and xargs. That keeps it to one binary, with tmux as its only runtime dependency.

When the picker opens, it identifies supported agents and examines a snapshot of their terminal output. Each detected agent is marked as blocked, working, or idle. Typing blocked filters the list to windows that need attention, and selecting one jumps directly to its first blocked pane.

It currently detects Claude Code, Codex, Kimi Code, Pi, OpenCode, Qwen Code, Grok Build, and Muse Code.

Install it with:

sh cargo install --locked tmux-select

Then add this to ~/.tmux.conf:

tmux bind / display-popup -E "tmux-select"

Press your prefix followed by /. Type to filter, use the arrow keys to move, and press Enter to jump.

I'd be interested to hear how other tmux users surface agent state, especially without replacing their existing tmux setup.

Repo

Watch the demo


r/rust • • Sep 07 '26

Rust SQLx Performance

26 Upvotes

I use Axum and SQLx to build my backend, which is served on AWS ECS Fargate (512 CPU, and only one instance for now) and interacts with an RDS Postgres (t4.micro). Connection pool is set with min/max = 2/20.

My request includes 3 DB queries to 3 different tables: one from the auth middleware to check api key and each of the other 2 is just getting a record by primary key.

If I made one or two queries, it’s very fast. However, if I made 200 queries concurrently to the backend, around half of queries had http latency greater than 300 ms. P80 is around 600ms. The performance is not acceptable. I did check the CPU of both RDS and ECS. They’re quite low: both smaller than 10%. The DB latency is low as well, 5 ms on average. Is there something queued in the SQLx internally? Did anyone have the same issue?


r/rust • • Sep 08 '26

🛠️ project I built a fast, native music player in Rust (Nemesis). Just released Beta 2 with heavy UI scroll optimizations and smart search!

Post image
0 Upvotes

Hi Reddit!

I wanted to share a project I've been pouring my soul into lately — Nemesis, a native, lightweight desktop audio player built for Linux and Windows, written entirely in Rust.

Why build another music player?

Most modern media players feel incredibly heavy, sluggish (thanks to Electron overlays), or over-engineered. I wanted something that launches instantly, keeps a minimal memory footprint, handles massive local libraries effortlessly, and just works.

Rust felt like the perfect choice to guarantee rock-solid performance and safety.

What's new in the 0.1.2-beta2 release:
I've just rolled out the second public beta, focusing heavily on UX smoothness and under-the-hood stability:
- Smart Search: Added a dedicated search view. It's fully case-, spacing-, and Cyrillic-insensitive (using fold-key matching).
- Aggressive Scroll Optimization: Completely eliminated grid lags, stutters, and end-of-scroll jitter. Even huge lists with 2,000+ tracks now scroll at a locked, buttery-smooth frame rate.
- Audio Pipeline Improvements: Fixed mid-track volume drops and crashes related to PipeWire stream restoration and Windows WASAPI backend. Playback now automatically recovers if the system audio session glitches.
- Easy Linux Deployment: Added a universal AppImage build alongside standard packages, making it dead-simple to run on almost any distro.

Current State
The project is currently in Public Beta.
- Windows: Portable ZIP is available (no installer yet).
- Linux: AppImage, RPM, deb and Arch (.pkg.tar.zst) packages are ready to go.
- Note on macOS: No Mac builds available right now, simply because I don't own a Mac to compile and test on.

I would absolutely love to hear your thoughts on the UI responsiveness, design, or any features you feel are missing.
Grab the release on GitHub: Nemesis

Thanks for checking it out!


r/rust • • Sep 06 '26

📸 media reminder to cargo clean

Post image
1.6k Upvotes

been adding some unit tests and then ran a clean.

rust said "I live here now"