#rustlang

rustunitrustunit
2025-06-10

The second talk of our last meetup is also live on YouTube now - Tristan talks about his indie game "Greenfeet Haven" in his talk "From Zero to Demo" - youtube.com/watch?v=_FIDuLV0ZsA 🦀🎮 @bevy

amanjeev | امن جیو | ਅਮਨਜੀਵamanjeev@cosocial.ca
2025-06-10

missed opportunity to name “compile_error” as “compile_err”.

doc.rust-lang.org/std/macro.co

#astoot #rustlang

Hemera :nixos: :ms_snow_leopard:Hemera@meow.social
2025-06-10

Just ran into an interesting #cargo #rustlang workflow problem, that I am not sure how it is best avoided?

A project I work on is depending on strum and strum_macros. Due to a cargo update multiple strum versions now got unified and picked up by cargo hakari, and only a single version is built. That's good.

A dependency I was using had a pattern as such:

use strum::EnumMessage;
use strum_macros::EnumMessage;

Which is totally fine!

With the unification, the features now also got unified. Which in this case meant that EnumMessage is now present in the macro-scope in both strum and strum_macros.

Which means the above two lines cause an error with EnumMessage being imported twice! Fun.

So the situation is that strum is fine, as it is an additive feature. And the dependency is fine as well, as it itself doesn't use the 'derive' feature.

Another reason why this happens seems to be because we are using cargo-hakari to have less cache-misses in our workspace. But once our workspace-hack crate added the derive feature it broke the build.

The final piece seems that a transitive dependency both:

  • Had the derive feature of strum enabled
  • Did a 0.x.y release (aka minor? patch?) that had a major update of its dependencies in it. (i.e. 0.26 -> 0.27)
  • Is a proc-macro ? (potentially irrelevant, potentially the missing piece)

So to me the full reproduction would be:

  • Have a dependency tree that contains both foo v0.1 (derive feature) and foo v0.2 (no features)
  • cargo update
  • It still builds
  • cargo hakari adds for both 'normal' deps and 'build' deps foo v0.2 (derive feature)
  • This causes cargo to unify foo for both normal builds and proc-macro builds
  • The build fails due to duplicate entries

It feels like the use of cargo-hakari caused this situation, as without it, it would have been fine I guess? But adding a feature flag, shouldn't break downstream crates either 😿 so bleh

Predrag Gruevskipredrag@hachyderm.io
2025-06-10

Imagine running "cargo update" without fear, knowing it could never break your Rust code. What would that look like, and what will it take to get there?

Find out in my RustWeek talk!

youtube.com/watch?v=bUN54ByMp3

#rust #rustlang #rustweek #talk

Terts Diepraamterts@mastodon.online
2025-06-10

We just released Roto 0.6.0!

Roto is the JIT compiled, strongly-typed, embedded scripting language for Rust used by Rotonda.

This release features many fixes, quality of life improvements and - as a little treat - an assignment operator! Check it out here:

github.com/NLnetLabs/roto/rele

@nlnetlabs

#OpenSource #rustlang #BGP

musicmatze :rust: :nixos:musicmatze@social.linux.pizza
2025-06-10

Aaaaaand even more... #justRustThings #rust #rustlang

2025-06-10

Apparently spawning a child process/app that outlives the parent (on Windows and Linux/MacOS) in #Rust is hard. Forking would work if it was cross platform.

If you know a good way to do this please share.

For now the best way seems to be to use a cross-platform #daemonization library (I think I found one), and then have the parent run a command to start the daemon.

Seems wildly over the top to have my CLI program start the server it wants to talk to if it isn't already running. 🤔 #RustLang

2025-06-10

You’ll work with `pyo3`, learn how to handle Python’s GIL, and walk away ready to ship Rust where it matters most. Led by the author of Zero to Production in Rust, you won’t get lost.

Get the workshop details here ➡️ eurorust.eu/workshops/rust-pyt

#EuroRust25 #RustLang #Python #RustWorkshop

2025-06-10

@frankel and when strum is not enough there is the #xmacro crate (Note: I am its author) which has more flexibility at the cost of more verbose code.

docs.rs/xmacro_lib/0.5.1/xmacr

#rustlang

Orhun Parmaksız 👾orhun@fosstodon.org
2025-06-10

Simulations in the terminal with Rust & @ratatui_rs 😍🦀

🌀 **trmt** — 2D Turing Machine simulator for your terminal!

☘️ Supports extensive customization, real-time interaction & more!

⭐GitHub: github.com/cenonym/trmt

#rustlang #ratatui #tui #turmite #turing #simulation #2d #terminal #commandline

2025-06-10

We just published all talks from RustWeek 2025 🦀 🌎
Clear your calendars: 25+ hours and 54 talks worth of amazing Rust content!

youtube.com/playlist?list=PL8Q

#rustlang #rust #RustWeek

Guillaume Gomezimperio@toot.cat
2025-06-10

The rustdoc #![doc(test(attr(..)))] attribute can now be used at every level and not just at crate level.

Documentation about this attribute is available here: doc.rust-lang.org/nightly/rust

PR: github.com/rust-lang/rust/pull

#rust #rustlang

Rust Bytesrustaceans
2025-06-10

RUST TIP 🦀

Last week, we shared a Rust tip about an attribute that, when applied to functions or types, ensures their returned Result or Option is properly handled.

Let's move on to this week’s challenge.

Find Peaks and Valleys

2025-06-10

At the ICANN83 DNSSEC And Security Workshop, we presented the flexible key management we have designed for our new #DNSSEC signing solution Nameshed. Philip explains how we avoid loading an unknown shared library into the signer process and how we keep track of state. #DNS #OpenSource #rustlang Slides: static.sched.com/hosted_files/

2025-06-10

code review 2/2

#rustlang

**You fell into the classic trap:** what started as "I just need to read some RabbitMQ config" became a full configuration management framework with separate crates for config, info, UI, components... The simple JSON parsing somehow spawned 6 workspace members. Classic config yak-shaving!

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst