Image
user avatar
errs :^)
@compiler_errors
i do computer things
new york
Joined January 2014
  • user avatar
    Today’s my last day at my current job, and on Monday, I’m starting at AWS as a Rust Compiler Engineer 😁
  • user avatar
    async fns in traits are merged 🎉
  • user avatar
    it needs some work, but this diagnostic was neat to implement
    rust code:

```
fn main() {
    let x = len([1, 2, 3]);
}
```
    rust compiler output:

```
error[E0425]: cannot find function `len` in this scope
 --> /home/gh-compiler-errors/test.rs:3:13
  |
3 |     let x = len([1, 2, 3]);
  |             ^^^ not found in this scope
  |
help: use the `.` operator to call the method `len` on `&[{integer}]`
  |
3 -     let x = len([1, 2, 3]);
3 +     let x = [1, 2, 3].len();
  |
```
  • user avatar
    I contributed quite a few things to this release, including async closures and lots of parts of Edition 2024. I'm finally glad that it's out.
    Rust 1.85.0 has been released! 🌈🦀✨ Not only does this release add async closures, it also includes a whole new Rust Edition, Rust 2024! 🎆🚀 Check out the blog post for an overview of all the changes and additions: blog.rust-lang.org/2025/02/20/Rus…
  • user avatar
  • user avatar
    Another feature I worked hard to stabilize over the last year is now stable today in Rust 1.79 —
  • user avatar
    Replying to @compiler_errors
    async fn in trait soon too 👀
    Rust code:

```
trait Foo {
    async fn foo() -> i32;
}

impl Foo for () {
    async fn foo() -> i32 { 0 }
}

fn main() {
    let _ = <() as Foo>::foo();
}
```
  • user avatar
    Finally built up the courage to start looking for a Rust and/or compiler-focused job more seriously now. Ping me if y'all have any recs, or I can share my résumé.
  • user avatar
    question: why are things hard to stabilize in the rust compiler?
  • user avatar
    lol @ people who don’t contribute to rust diagnostics (or rust at all) commenting about how diagnostics translation is a waste of effort… like, whose effort?? certainly not yours!
  • user avatar
    I am not a creative person, but I do like implementing diagnostic suggestions made by other people:
    Rust code:

import std::{io::{self, Write}, rc::Rc};

fn main() {
    let x = Rc::new(1);
    let _ = write!(io::stdout(), "{:?}", x);
}
  • user avatar
    I recently landed async Fn trait bounds experimentally in rustc. If you're on nightly Rust, pls try out `F: async Fn() -> T` bounds instead of writing `F: Fn() -> Fut, Fut: Future<Output = T>`. They should be more expressive and flexible.
  • user avatar
    Wow! The new trait solver now fully builds the Rust compiler. Huge milestone. Now comes the long tail of getting all the *other* crates in the world to compile too :)
  • user avatar
    i'm a rust compiler contributor now <3