News for hackers. Stuff that matters.
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.