cargo install cargo-editにおけるビルドエラー error[E0277]: expected a `FnMut<(char,)>` closure, found `[char; 2]`

## 環境

Date: 2022/04/19
OS: macOS Big Sur 11.6
```shell
$ rustc --version
rustc 1.57.0 (f1edd0429 2021-11-29)

$ cargo --version                     
cargo 1.57.0 (b2e52d7ca 2021-10-21)
```

## 現象

`cargo install cargo-edit`実行時にエラー発生。

```shell:エラー
   Compiling cargo-edit v0.9.0
error[E0277]: expected a `FnMut<(char,)>` closure, found `[char; 2]`
   --> /Users/****/.cargo/registry/src/github.com-1ecc6299db9ec823/cargo-edit-0.9.0/src/bin/add/add.rs:479:19
    |
479 |     feature.split([' ', ',']).filter(|s| !s.is_empty())
    |             ----- ^^^^^^^^^^ expected an `FnMut<(char,)>` closure, found `[char; 2]`
    |             |
    |             required by a bound introduced by this call
    |
    = help: the trait `FnMut<(char,)>` is not implemented for `[char; 2]`
    = note: required because of the requirements on the impl of `Pattern<'_>` for `[char; 2]`

error[E0599]: the method `filter` exists for struct `std::str::Split<'_, [char; 2]>`, but its trait bounds were not satisfied
   --> /Users/****/.cargo/registry/src/github.com-1ecc6299db9ec823/cargo-edit-0.9.0/src/bin/add/add.rs:479:31
    |
479 |       feature.split([' ', ',']).filter(|s| !s.is_empty())
    |                                 ^^^^^^ method cannot be called on `std::str::Split<'_, [char; 2]>` due to unsatisfied trait bounds
    |
   ::: /Users/****/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/str/iter.rs:730:1
    |
730 | / generate_pattern_iterators! {
731 | |     forward:
732 | |         /// Created with the method [`split`].
733 | |         ///
...   |
745 | |     delegate double ended;
746 | | }
    | |_- doesn't satisfy `std::str::Split<'_, [char; 2]>: Iterator`
    |
    = note: the following trait bounds were not satisfied:
            `[char; 2]: Pattern<'_>`
            which is required by `std::str::Split<'_, [char; 2]>: Iterator`
            `std::str::Split<'_, [char; 2]>: Iterator`
            which is required by `&mut std::str::Split<'_, [char; 2]>: Iterator`

Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `cargo-edit` due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
error: failed to compile `cargo-edit v0.9.0`, intermediate artifacts can be found at `/var/folders/dn/jcwnk8wd19b_48cn2z3g4xyh0000gn/T/cargo-installZu95sK`

Caused by:
  build failed
```

## 解決

cargoのバージョンが古かったのが原因。`rustup-init`でcargoのバージョンを上げる。
```shell
$ rustup-init
Welcome to Rust!

This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.

...

Current installation options:


   default host triple: x86_64-apple-darwin
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1

...

Rust is installed now. Great!

...

To configure your current shell, run:
$ exec $SHELL -l
```

```shell:update後のversion
$ rustc --version
rustc 1.60.0 (7737e0b5c 2022-04-04)

$ cargo --version
cargo 1.60.0 (d1fd9fe2c 2022-03-01)
```
<br>
これでもう一度`cargo install cargo-edit`をしたら無事成功しました。

## 使用コマンド(コピペ用)
```shell
rustc --version
```

```shell
cargo --version
```

```shell:rustup-init後のshell再起動用
exec $SHELL -l
```

```shell
cargo install cargo-edit
```