6 comments

  • hmokiguess 22 minutes ago

    So this is like a cache? Reminded me of https://turborepo.dev for TS, is it a similar concept?

    • boxed 16 minutes ago

      From what I understood it's more like trust the external API of functions and continue with stuff that is downstream from that in parallel. If the function body then fails to type check then the compilation can be aborted and then you've done extra work, but that's a pretty rare case afaik.

  • swiftcoder 3 hours ago

    Excited to see if there is a path to getting this in the mainline compiler

  • rouanvde an hour ago

    Those are big improvements!

  • IshKebab 43 minutes ago

    Seems like an easy win! I'm kind of surprised nobody did this already. I guess someone will need to reimplement this by hand given Rust's AI policy, but this is still great because it demonstrates that it's a really good idea.

    • kibwen 20 minutes ago

      Rust has been taking steps in this direction for several years now, having first added pipelining via eager metadata emission in 2019: https://internals.rust-lang.org/t/evaluating-pipelined-rustc... . There have been several other steps in this process since then, e.g. working to make metadata less verbose, experimenting with different approaches to compression, etc. People have been eyeing making pipelining even more eager for a while now, as the submitter here noted a few days ago: https://news.ycombinator.com/item?id=49924257 , but there remain some decisions to be made regarding what to do when encountering errors in crates that were speculatively approved.