Nice, but why isn't the LLVM optimizer removing the move?
Is it lack of proper alias analysis?
Sounds like that is a separate issue worth pursuing.
> The remaining, more difficult, issue is initialization of
> aggregate data structures via constructor functions, which still
> involves a bunch of moves, but I don't really see any way short of
> macros to optimize that at the moment.
Wouldn't #[inline(always)] on the aggregate constructor fix that? (it's not
great, but it's strictly better than a macro)
At any rate, shouldn't LLVM inlining heuristics catch that automatically as
well?
If not, that sounds like another separate issue.
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev