News for hackers. Stuff that matters.
Re:Rust in QEMU Roadmap by 0x457 on Tuesday December 03, 2024 @01:25PM (#42309432)
> Most toolchains don't have as much churn as Rust.

What churn? A release every 6 months? Unlike many others, toolchains (i count nodejs and co here) rust only need one toolchain because latest rustc always able to compile older rust code.

Now compare rust releases to this: https://gcc.gnu.org/releases.html

Re:Rust in QEMU Roadmap by vlovich123 on Tuesday December 03, 2024 @06:46PM (#42312995)
Rust’s release cadence is 6 weeks not 6 months.
Re:Rust in QEMU Roadmap by 0x457 on Friday December 06, 2024 @02:20PM (#42343210)
My bad, I thought it was 6 months. Okay, a bit too often, but no reason why debian folk can't update it more often than it is now.
Re:Rust in QEMU Roadmap by umanwizard on Wednesday December 04, 2024 @10:05AM (#42318143)
> latest rustc always able to compile older rust code.

That is not true. Adding any public method to any impl can cause existing working code not to compile, and Rust adds new methods to the stdlib all the time.

Re:Rust in QEMU Roadmap by vlovich123 on Thursday December 05, 2024 @03:39AM (#42326202)
I don't believe this is correct. I have not once seen a new method being added to stdlib that causes code to not compile. And ABI concerns are a non-issue since Rust is statically linked.
Re:Rust in QEMU Roadmap by umanwizard on Thursday December 05, 2024 @05:15AM (#42326710)
It is correct. For example, this code (admittedly a contrived example, just to illustrate the point) compiles in 1.82 but not in 1.83:

  trait OptionExt {
      fn get_or_insert_default();
  }
  
  impl<T> OptionExt for Option<T> {
      fn get_or_insert_default() {}
  }
  
  fn main() {
      Option::<()>::get_or_insert_default();
  }
The reason is that `get_or_insert_default` was added to the stdlib in 1.83, and takes a different number of arguments, so it clashes with the user-defined one here.
Re:Rust in QEMU Roadmap by 0x457 on Monday December 09, 2024 @03:35PM (#42370294)
Interesting, I would think that having OptionExt in scope would make it clear which method to use.