Repository: clap-rs/clap (language: rust)

Issue:
Latest Clap v3 depends on yanked version of textwrap
### Please complete the following tasks

- [X] I have searched the [discussions](https://github.com/clap-rs/clap/discussions)
- [X] I have searched the [open](https://github.com/clap-rs/clap/issues) and [rejected](https://github.com/clap-rs/clap/issues?q=is%3Aissue+label%3AS-wont-fix+is%3Aclosed) issues

### Rust Version

1.64.0

### Clap Version

3.2.22

### Minimal reproducible code

```toml
clap = { version = "3.2.22", features = ["derive"] }
```


### Steps to reproduce the bug with the above code

```none
cargo update
```


### Actual Behaviour

Version 0.15.1 of `textwrap` [has been yanked](https://github.com/mgeisler/textwrap/blob/master/CHANGELOG.md#version-0151-2022-09-15) due to unexpected breaking changes. Due to pull request #4221, this is the only version that matches the requirement `^0.15.1`, and as such it becomes impossible to `cargo update` a project using Clap v3.

Example error message (obtained while working on DICOM-rs):

```none
error: failed to select a version for the requirement `textwrap = "^0.15.1"`
candidate versions found which didn't match: 0.16.0, 0.15.0, 0.14.2, ...
location searched: crates.io index
required by package `clap v3.2.22`
    ... which satisfies dependency `clap = "3.2.22"` of package `dicom-storescp v0.1.0-rc.1 (.../dicom-rs/storescp)`
```

### Expected Behaviour

It should work fine, probably by having clap v3 depend on textwrap v0.16.0.

### Additional Context

_No response_

### Debug Output

_No response_


Discussion / hints:

Fix patch:
diff --git a/Cargo.lock b/Cargo.lock
index 0cc00e18767..8c6e2aeae27 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -146,7 +146,7 @@ dependencies = [
  "strsim",
  "termcolor",
  "terminal_size",
- "textwrap 0.15.1",
+ "textwrap 0.16.0",
  "trybuild",
  "trycmd",
  "unicase",
@@ -952,9 +952,9 @@ dependencies = [
 
 [[package]]
 name = "textwrap"
-version = "0.15.1"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
 dependencies = [
  "terminal_size",
  "unicode-width",
@@ -1040,9 +1040,9 @@ checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
 name = "unicode-xid"
diff --git a/Cargo.toml b/Cargo.toml
index 25627785590..538f73fc376 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -90,7 +90,7 @@ bench = false
 clap_derive = { path = "./clap_derive", version = "=3.2.18", optional = true }
 clap_lex = { path = "./clap_lex", version = "0.2.2" }
 bitflags = "1.2"
-textwrap = { version = "0.15.1", default-features = false, features = [] }
+textwrap = { version = "0.16", default-features = false, features = [] }
 unicase = { version = "2.6", optional = true }
 indexmap = "1.0"
 strsim = { version = "0.10",  optional = true }


Test patch: