## 事象
```
cannot move out of `generator`, a captured variable in an `FnMut` closure E0507 move occurs because `generator` has type `external::gtfs::extended::course::CourseGenerator`, which does not implement the `Copy` trait
```
[[Copyトレイト]]が実装されていないからmoveが発生するのにmoveできないようなエラー。この例では`generator`がインスタンス。
## チェックすべきポイント
### `generator`インスタンスのメソッドで第1引数が`&mut self`になっているか。
```rust
pub fn generate(&mut self, trip_with_stops: &[TripWithStop]) -> Course {
```
`mut self`だとmoveが必要になってしまう。
### インスタンスが`mut`になっているか
`mut`が抜けているとImmutableであるため、`generate`メソッドは使えない。
```rust
let mut generator = CourseGenerator::new();
```