Michael (compiler-errors) Goulet

Michael (compiler-errors) Goulet

@errs.io

https://errs.io

633 followers99 following76 posts

trying to make sense of ocaml modules and their conceptual relationship to rust traits... rust essentially enables "module inference" which i think is neat, especially thinking about what constraints this requires compared to ocaml where modules need to be named directly in functors

by 1. treating `modules type`s nominally rather than structurally, 2. and uniquely identifying each module with a set of input parameter types (i.e. no impl overlap), we can look up a module's components by name without referencing it directly, via the `module type` + generics

the important part of (2.) is that modules (i.e. impls) themselves don't need names, since theyre uniquely identified by the `module type` being impl'd + the params, and we don't ever *need* to name them directly as a consequence of them being retrievable by this name

Today’s my last day at AWS working on the Rust compiler. Unfortunately, back in July I received notice that I had to choose between moving to Boston from NYC, or leaving the company due to RTO policy. I unfortunately couldn’t abandon the city I plan on being my long term home.

View full thread

That does mean I’ll be scaling back my Rust contributions over the next few months before I start my new job. Sorry to the folks who were looking forward to stuff I had in the pipeline. I really would’ve liked to deliver async fn in dyn traits or `-Zhigher-ranked-assumptions`.

I urge companies to take funding contributors seriously, in ways that aren’t tied to projects and goals. Being a generalist in the compiler meant that often I wasn’t working towards a roadmap, but my contributions *always* paid off in the long term extensibility of the language.

Today’s my last day at AWS working on the Rust compiler. Unfortunately, back in July I received notice that I had to choose between moving to Boston from NYC, or leaving the company due to RTO policy. I unfortunately couldn’t abandon the city I plan on being my long term home.

I’m glad I got the opportunity to do amazing work on Rust over the last 3 years. It’s hard to quantify, but I hope people saw a difference due to my work on async traits/closures, the type system, diagnostics, style team, ICE fixes, internal refactors, speedups, edition 2024 etc.

Unfortunately, it was not possible to snag a new job working on Rust in the way that I do today (type system/compiler frontend) especially with the freedom I have today, and I couldn't possibly be jobless for an indeterminate amount of time waiting for the right role to show up.

coding interviews are a joke and i'm gonna be so pissed if i can't get a job because i don't know how to find some "trick" to solve some toy problem that has nothing to do with developing and maintaining a massively complex compiler codebase, which is a thing that i *am* actually good at doing.

The PR is pretty technical, so I don't expect that many people to understand what's going on in it, but hopefully when it lands I can ask people to test their code with `-Zhigher-ranked-assumptions` and see if it fixes their code :)

Howdy all. I'm unfortunately not going to be with my employer for much longer due to team relocation. If anyone has any info on roles that would allow me to continue my Rust compiler work (in New York City), they'd be greatly appreciated.

Michael (compiler-errors) Goulet reposted

A new subway diagram has arrived! MTA leadership (including MTA Chair and CEO Janno Lieber and Chief Customer Officer Shanifah Rieara) unveiled a reimagined subway map, its first new design in half a century. Check out the new map on digital screens in stations, and as it rolls out on train cars 🚇

Michael (compiler-errors) Goulet reposted

soooo this. I started into the abyss so much, I can only see the abyss now

gabby@fullmoon.id

Programming language author: I have made a huge mistake and people have to constantly work around my mistake in perpetuity Programming language user: I love everything about this language and these workarounds feel so sensible, idiomatic, and pragmatic to me

I contributed quite a few things to this release, including async closures and lots of parts of Edition 2024. I'm glad that it's finally out 💖🦀

Mara Bos@mara.bsky.social

🦀 Rust 1.85.0 has been released! ✨ One of the bigger #rustlang releases in a while, as it contains *async closures* and *the new Rust Edition*: Rust 2024! 🎉 blog.rust-lang.org/2025/02/20/R...

- async closures - impl trait capture rules + precise capturing - implemented `'r#` raw lifetime syntax - fixed major bugs with temporary scope change detection - improved error for never fallback changes - improved the impl of expr_2024 macro fragment - reviewed unsafe blocks

You are up to date.