title: cannot move out of `guess`, a captured variable in an `Fn` closure Rust
body: <p>today I tried to write this MusicGuesser with GTK for fun and got this error:</p>
  <pre><code>error[E0507]: cannot move out of `guess`, a captured variable in an `Fn` closure
    --&gt; src/main.rs:63:32
     |
  15 |     let mut guess = Arc::new(get_guess());
     |         --------- captured outer variable
  16 |
  17 |     app.connect_activate(move |app| {
     |                          ---------- captured by this `Fn` closure
  ...
  63 |         button.connect_clicked(move |_| {
     |                                ^^^^^^^^ move out of `guess` occurs here
  64 |             let mut guess = Arc::clone(&amp;guess);
     |                                         -----
     |                                         |
     |                                         variable moved due to use in closure
     |                                         move occurs because `guess` has type `Arc&lt;Vec&lt;std::string::String&gt;&gt;`, which does not implement the `Copy` trait
  </code></pre>
  <p>I found some same questions about this error, but I didn't understand them. There is source code: <a href="https://pastebin.com/1pNxEiB5" rel="nofollow noreferrer">https://pastebin.com/1pNxEiB5</a></p>