News for hackers. Stuff that matters.
Re:Why Rust closures are somewhat hard by nicoburns on Monday September 10, 2018 @04:19PM (#17954860)
Something I've been thinking about a lot recently: would there be scope for a compiler mode which used virtual dispatch for generics (as well as trait objects) so as to speed up compile times? (and then you could compile the same code monomorphised for production).
Re:Why Rust closures are somewhat hard by bbatha on Monday September 10, 2018 @05:23PM (#17955326)
It's been proposed before: https://internals.rust-lang.org/t/idea-polymorphic-baseline-...

Its also fairly common to have code like:

   fn do_it(a: impl AsRef<i32>) {
      let a = a.as_ref();
      // do something with a
    }
That could be instead monomorphised to be

   fn _do_it(a: &i32) {
       // do something with a
   }

   fn do_it(a: impl AsRef<i32>) {
      let a = a.as_ref();
      _do_it(a)
   }
saving the inlining of _do_it's code bloat/generation penalty.
Re:Why Rust closures are somewhat hard by nicoburns on Monday September 10, 2018 @05:42PM (#17955463)
Hmm, interesting the Niko thinks that MIR optimisation passes and CraneLift are more likely to happen soon. I so dearly want faster Rust compile times!