What's everyone working on this week (27/2025)?

New week, new Rust! What are you folks up to?

1 Like

After having hacked a wrapper for a firmware updater for Zigbee devices I got tired of all its quirks and decided to go full RESF and rewrite the entire thing in Rust. It still lacks some features, like parsing of the OTA files and automagically reading out the data offset and it also needs some refactoring done, but at least it's working reliably for now.

1 Like

I'm new to Rust and working my way through Rustlings. This week I'm diving into concurrency and macros!

1 Like

Hi !

I'm working on refactoring a large project in Rust.
I need to add features to it.
I'm trying to work with sections of code that use different versions of Rust for compilation, as well as different editions.

I'm working on adding log-scales and custom tick marks to my experimental iced chart widget. I need these to improve the frequency response graph in my room impulse response measurement software - raumklang.

It's working now, but I'm not 100% happy with it, yet.

Can you explain how and why you are using different rustc versions? I know that we can use for a project packages compiled with various Rust editions, e.g. when older unmaintained packages requires that. But "sections of code that use different versions of Rust for compilation," sounds interesting (to avoid the word strange). How do you specify an exact compiler version for a specific code section?

I work on a project that use 1.77.2 version (I tried to compile with 1.86.0 version and I got a "segmentation fault" when start running ! so I think I have to look the code more precisely before upgrade and there is a lot of code...).

I start to create other crate with 1.86.0 version.

So each time I have to switch to the first project to the second crate I created, I use rustup default 1.86.0 command to switch version. And do the same in reverse : rustup default 1.77.2.

Then, I discover that I can use a file named : rust-toolchain.toml in the same directory that Cargo.toml.
This file can contains the version of rust that I want to use to compile.

[toolchain]
channel = "1.86.0"

Now, I don't have to use command rustup default 1.86.0 or rustup default 1.77.2 to tell which version to use.

Now, I want to integrate the second crate as a package in the first project.
I was thinking I can have some crate that compile this way with the rust-toolchain.toml.

But no... I would like to upgrade version of the first project crate by crate. Now I am reading documentation because I encounter difficulties.

Try to launch in 1.77.2 version :

main_project
--pack_1
-----Cargo.toml
--pack_2
-----Cargo.toml
...
--document_generator // my new crate
-----Cargo.toml
-----rust-toolchain.toml  // I use this file with the channel = "1.86.0"
--Cargo.toml // use all the pack
1 Like

I've been working on a hypergraph CSM/CSR implementation that uses a dual state architecture to solve the age old problem of accelerating graph algorithms. it's probably a little bit overengineered, but it's actually pretty damn fast and that was the goal all along.