Heath Stewart
banner
heaths.dev
Heath Stewart
@heaths.dev
Principal Software Engineer working on #AzureSDK for #rustlang at #Microsoft. My opinions are my own. Love contributing to OSS in #cpp, #csharp, #javascript, #golang, et. al.

Avid outdoor adventurer 🏔️❄️👞🚴‍♂️, husband, father.
It’d be a productivity win. How can I be productive doing serious business with emojis if I have to keep hitting tab several times or reaching for the mouse? It’s serious business, I tells ya!
November 21, 2025 at 5:05 AM
Would you push through emoji MRUs for a heart-felt “thank you very much!”?
a kitten is standing on its hind legs next to a remote control on a table .
Alt: A tan kitten folding its paws as if pleading.
media.tenor.com
November 21, 2025 at 5:03 AM
That was meant as the ? operator that desugars into a match for Result or Option returns. 😉
November 21, 2025 at 4:58 AM
?
November 21, 2025 at 3:19 AM
While unwrap() in production code is generally bad, at the very least they could’ve used expect(“some unique descriptive text”) to provide some useful error. The lack of anything useful had them chasing the wrong leads initially.
While I maintain “no unwrap() in production (unless you’re 100% sure it can’t happen)”, at the very least it seems expect() with a unique, descriptive message would be better. With either, at least you can enable a stack trace.
November 20, 2025 at 3:56 PM
While I maintain “no unwrap() in production (unless you’re 100% sure it can’t happen)”, at the very least it seems expect() with a unique, descriptive message would be better. With either, at least you can enable a stack trace.
November 19, 2025 at 4:46 PM
And, wet and clumpy, you end up raking almost 1/2 mile of them from a local trail to prevent people from slipping on the steeper hills as part of a neighborhood service project.

It’s also a nightmare for bikes since the sides of the roads are now a slippery mess of detritus.
November 19, 2025 at 3:22 PM
You should dump our coffee imports into the Thames.

But, yeah, you’re obviously, absolutely right.
November 18, 2025 at 2:48 AM
I tied about 50lbs of excess treated lumber from our deck project to my back with some rope, a couple lashings, and a couple double half-hitches. I’m knotty like that.
November 15, 2025 at 10:25 PM
I’m pretty sure that‘s Andy Serkis as Sméagol.
November 13, 2025 at 5:29 AM
Under this US "everything was great 70 years ago" administration, we get digital IDs acceptable at many airports, but WA state - HQ to Microsoft and Amazon with large Google, Facebook, et. al. presence - still doesn't have digital DLs?
a man in a suit and tie is looking at something
Alt: Steve Carell in the US version of "The Office" looking very annoyed and impatient.
media.tenor.com
November 13, 2025 at 3:50 AM
With those changes, not only was I able to clean up the README #rustlang tests, but decided to use the recorded test framework I wrote - along with some creative overriding of rand::random to use a recorded seed - to make sure the tests not only compile, but actual work: github.com/Azure/azure-...
Reduce noise in Key Vault README code samples by heaths · Pull Request #3337 · Azure/azure-sdk-for-rust
Uses the include_file::include_markdown!() macro to include otherwise non-compilable Rust code snippets from the README.md files.
github.com
November 13, 2025 at 3:43 AM
Yep, and I’d make that a rule in our guidelines. We did the same thing for .NET eg., github.com/Azure/azure-...
November 12, 2025 at 4:19 PM
If only github.com/rust-lang/ru... was resolved, we could define test- and/or doctest-only functions and types. Alas, that is not an option now.
cfg(doctest) doesn't work as expected · Issue #67295 · rust-lang/rust
First, create empty lib crate. cargo init --lib foo With use crate::foo::bar: //! Hello //! //! ``` //! use crate::foo::bar; //! bar(); //! ``` #[cfg(doctest)] pub fn bar () { println!("hello"); } ...
github.com
November 12, 2025 at 2:38 AM
I should also point out that doctests are compiled as standalone executables so a create_your_client function would have to be define in the doctest too. Using the include_markdown macro we could still do that in the snippet but I was hoping it was obvious given the instantiation example at the top.
November 12, 2025 at 2:38 AM
With the latest push to github.com/Azure/azure-..., I turned these README tests into recorded tests (a nifty framework I wrote last spring for HTTP-based clients) so we can test that they work, backing up Rust's claim "if it compiles, it works" (often true, but network calls can always fail).
Reduce noise in Key Vault README code samples by heaths · Pull Request #3337 · Azure/azure-sdk-for-rust
Uses the include_file::include_markdown!() macro to include otherwise non-compilable Rust code snippets from the README.md files.
github.com
November 12, 2025 at 2:19 AM
*) We created the original #AzureSDK for #dotnet snippet generator because, at one point, the Key Vault README examples wouldn't even compile nonetheless work. They were based on older code, and we wanted someway to make sure they were always accurate.
November 12, 2025 at 2:19 AM
All that "setup" code we can hide in #rustlang doctests - markdown that comprises doc comments: doc.rust-lang.org/rustdoc/writ.... We can't do the same for plain markdown: those "#" prefixes will render in markdown and negatively impact readability.
November 12, 2025 at 2:19 AM
In Rust doctests, that create_your_client() still has to be defined if we want to at least compile the code snippets*. That's what the include_markdown!() macro solves. And to show async awaits, you need an async fn definition. To use the ? operator, you need a fn that returns a Result or Option.
November 12, 2025 at 2:19 AM
And yet, I've had to sit through so many of those demos in the past.
November 11, 2025 at 4:40 PM
We’d not be this far without you, @analogrelay.net, @ronnietsunami.bsky.social, et. al. to bounce ideas off of, work on various other features, etc! It’s coming together quite nicely, I think. I hope others will agree. I think we struck a good balance between perf and usability.
November 11, 2025 at 7:35 AM
See github.com/Azure/azure-... for a complete list of changes to azure_core. Some other crates like azure_security_keyvault_certificates had direct or indirect significant changes documented in the CHANGELOGs as well.
November 11, 2025 at 7:02 AM