Move occurs because `*row` has type ... which does not implement the `Copy` trait

Glad to help!

Yes, and this is where things can get tricky. I learned early on when working with C that the compiler cannot always show you every error in the code. Sometimes fixing one error will just create a new one. A lot of that has to do with the fact that fixing errors changes the code that must be compiled. That just makes these things impossible to predict.

Just stick with it, be persistent, and always remember the Rust koans.

2 Likes