Mara Bos's Avatar

Mara Bos

@mara.bsky.social

Rust dev, Electronics engineer, Author, RustNL, RustWeek organizer, ADHD, Polyamorous, Lesbian, She/Her

5,104 Followers  |  95 Following  |  100 Posts  |  Joined: 24.04.2023  |  2.2446

Latest posts by mara.bsky.social on Bluesky

The source of the standard Rust Hello World program with the generated assembly before and after the change.

The before version has 11 instructions and stores 56 bytes on the stack. The after version has 3 instructions and stores no data on the stack.

The source of the standard Rust Hello World program with the generated assembly before and after the change. The before version has 11 instructions and stores 56 bytes on the stack. The after version has 3 instructions and stores no data on the stack.

๐Ÿฆ€ I've improved the implementation behind all the string formatting macros in Rust: println, panic, format, write, log::info, etc. (Everything using format_args!().) They will compile a bit faster, use a bit less memory while compiling, result in smaller binaries, and produce more efficient code! ๐ŸŽ‰

13.11.2025 13:31 โ€” ๐Ÿ‘ 525    ๐Ÿ” 60    ๐Ÿ’ฌ 11    ๐Ÿ“Œ 3

Come say hi at #fosdem this weekend!

bsky.app/profile/mara...

28.01.2026 18:17 โ€” ๐Ÿ‘ 15    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Come say hi at #fosdem this weekend!

bsky.app/profile/mara...

28.01.2026 18:17 โ€” ๐Ÿ‘ 15    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Me in a black and white dress with long very pink hair.

Me in a black and white dress with long very pink hair.

Pink!

28.01.2026 18:16 โ€” ๐Ÿ‘ 57    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Jana operating a button making machine, making a batch of Rust buttons.

Jana operating a button making machine, making a batch of Rust buttons.

How many do you think we should make?

27.01.2026 16:50 โ€” ๐Ÿ‘ 11    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1
A whole pile of pin buttons with the rust logo on top of the progress pride flag.

A whole pile of pin buttons with the rust logo on top of the progress pride flag.

If you want a Rust button and a discount code for RustWeek, come find me at FOSDEM this weekend!

I now have bright pink hair, so should be easy to find :)

#rustlang #rustweek #fosdem

27.01.2026 16:46 โ€” ๐Ÿ‘ 63    ๐Ÿ” 10    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1

We might seriously consider that actually! Maybe some sort of "help me move to the Netherlands" desk at the conference or something. Multiple people have already moved to Utrecht and Delft because of RustWeek/RustNL! :D

27.01.2026 16:40 โ€” ๐Ÿ‘ 6    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Only seven hours left to submit your talk proposal for RustWeek 2026!

18.01.2026 15:55 โ€” ๐Ÿ‘ 21    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
A snowman made of three big balls of snow. She has leaves as eyes, a carrot as nose, sticks as mouth and arms, and little stones as buttons. She is also wearing my pink winter hat. She looks happy.

A snowman made of three big balls of snow. She has leaves as eyes, a carrot as nose, sticks as mouth and arms, and little stones as buttons. She is also wearing my pink winter hat. She looks happy.

โ˜ƒ๏ธ

05.01.2026 15:39 โ€” ๐Ÿ‘ 47    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Girls just wanna have fun โœจ

13.12.2025 16:38 โ€” ๐Ÿ‘ 52    ๐Ÿ” 8    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

sorry for not posting very much lately im hanging out with incredibly attractive women

06.12.2025 19:34 โ€” ๐Ÿ‘ 80    ๐Ÿ” 7    ๐Ÿ’ฌ 6    ๐Ÿ“Œ 0

Perfect! Have fun then. :)

08.12.2025 18:44 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Oh, it's actually quite good.

08.12.2025 18:37 โ€” ๐Ÿ‘ 9    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
A pizza with eight mini pizzas on top.

A pizza with eight mini pizzas on top.

Pizza with extra pizza.

08.12.2025 18:36 โ€” ๐Ÿ‘ 69    ๐Ÿ” 2    ๐Ÿ’ฌ 5    ๐Ÿ“Œ 1

If you want to check the tag bit(s), then something like making .is_aligned() on pointers a const fn would work. (Or a function like .misalignment() -> usize that would give you the sub-alignment bits of a pointer.) Const eval already keeps track of that anyway, so that could be exposed in const.

08.12.2025 16:21 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I do some form of pointer tagging in fmt::Arguments in the standard library, partially in const. Around here: github.com/rust-lang/ru...

But that one works because I can assume that in const eval it's always one specific variant. If you actually need to check the tag bit in const, that's different.

08.12.2025 16:17 โ€” ๐Ÿ‘ 11    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

No, but that can be fixed! Was talking about exactly that with Oli recently.

08.12.2025 15:45 โ€” ๐Ÿ‘ 15    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

> atomic_compare_Exchange_strong_explicit

oh boy. we're in The Cool Zone of processing shit now

03.12.2025 18:56 โ€” ๐Ÿ‘ 37    ๐Ÿ” 1    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Shoutout to @mara.bsky.social for the Rust Atomics Book. It has prepared me for This Precise Moment.

03.12.2025 18:57 โ€” ๐Ÿ‘ 33    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Yess, do it!

19.11.2025 14:56 โ€” ๐Ÿ‘ 8    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
result.rs - source Source of the Rust file `library/core/src/result.rs`.

Result::unwrap and Result::expect have the same implementation. There is no difference in allocations or anything like that. result.unwrap() is equivalent to result.expect("called `Result::unwrap()` on an `Err` value").

See doc.rust-lang.org/1.91.0/src/c... and doc.rust-lang.org/1.91.0/src/c...

19.11.2025 14:47 โ€” ๐Ÿ‘ 10    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1

If we could go back in time, Result::unwrap() should have been Result::or_panic() and Box::into_inner() should have been Box::unwrap().

19.11.2025 07:59 โ€” ๐Ÿ‘ 46    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

(That the name "or_panic" would have been better isn't much of a hot take, but adding "or_panic()" now and deprecating "unwrap()" would likely be controversial.)

19.11.2025 07:36 โ€” ๐Ÿ‘ 79    ๐Ÿ” 0    ๐Ÿ’ฌ 5    ๐Ÿ“Œ 0

#rustlang hot take: We should rename .unwrap() to .or_panic(). (And .expect() to .or_panic_with().) "Unwrap" is a terrible name for the panicking function, especially since we also have things like .unwrap_or() and .unwrap_or_default() which never panic.

19.11.2025 07:32 โ€” ๐Ÿ‘ 472    ๐Ÿ” 67    ๐Ÿ’ฌ 36    ๐Ÿ“Œ 11

Super excited to see you all again at RustWeek next year! โœจ

18.11.2025 15:37 โ€” ๐Ÿ‘ 15    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Call for Proposals - RustWeek 2026 RustWeek 2026, The Netherlands - May 18 - 23 2026. The world's biggest Rust conference returns to beautiful Utrecht, welcoming over 900+ community members, professionals and the maintainers of Rust.

Want to give a talk at the world's largest Rust conference? Don't forget to submit your talk proposals! 2026.rustweek.org/cfp/

See you there! ๐Ÿ’›

18.11.2025 11:53 โ€” ๐Ÿ‘ 34    ๐Ÿ” 8    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1

The most extreme case is the `large-workspace` benchmark, which is a generated benchmark with hundreds of crates that each just have a few println!() statements. That one now compiles 38% faster and produces a 22% smaller binary. (github.com/rust-lang/ru...)

13.11.2025 14:04 โ€” ๐Ÿ‘ 51    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Note that there are also lots of programs where this change makes very little difference. Many benchmarks show just 0.5% or 0.1% improvement, or just zero difference.

13.11.2025 14:04 โ€” ๐Ÿ‘ 36    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

All my work on string formatting in Rust of the past few years is tracked in this tracking issue: github.com/rust-lang/ru...

I wrote a bit about the history in blog.m-ou.se/format-args/ (two years ago).

This latest change is github.com/rust-lang/ru... and includes some explanation.

13.11.2025 13:52 โ€” ๐Ÿ‘ 26    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1

'Hello world' compiles 3% faster and a few bigger projects like Ripgrep and Cargo compile 1.5% to 2% faster. And those binaries are roughly 2% smaller. ๐ŸŽŠ

This change will be available in Rust Nightly tomorrow, and should ship as part of Rust 1.93.0 in January.

13.11.2025 13:31 โ€” ๐Ÿ‘ 88    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@mara is following 20 prominent accounts