I think one thing that I'd likely miss with Rust is Haskell's 'do' notation. Having a sequence of operations fail if any of them fail is nice to have. The biggest problem with the laziness that I've found is that I/O is lazy. I've been bitten a number of times forgetting a strictness marker on results of file reading and such.
That said, there is a lot of research going into making GHC generate good and fast code. There are certainly some very nice examples of GHC producing very fast code from fairly idiomatic Haskell. However, once you get past that cliff, things tend to get pretty hairy quickly.