History

Add a second "DO NOT USE" feature to `gix-packetline-blocking`

This adds a `futures-lite` feature to `gix-packetline-blocking`. The new feature is undocumented except for the warning not to use it. It does nothing, and its purpose is to support an existing internal use of `gix-packetline-blocking` through an alias named `gix-packetline`. This new feature should never be used except to keep `cargo check` commands with `--workspace` that list `gix-packetline/futures-lite` from failing due to the absent feature. Such `cargo check` commands are rare and `cargo check` should not typically be used this way. But RustRover automatically composes and runs such a command. This fixes a RustRover project discovery breakage commented on in #1929. This "ghost feature" may be removed without warning. Nothing should rely on it in production or otherwise in a significant way. It is a bug for any software to break or change behavior if it is removed. This addition is similar to the addition in be4de0d (#1123) of the `async-io` feature of `gix-packetline-blocking`, which likewise shouldn't be used. However, `gix-packetline-blocking/futures-lite` is even less elegant than `gix-packetline-blocking/async-io`, since `gix-packetline` doesn't explicitly delcare a `futures-lite` feature. Instead, we currrently don't use `dep:` for `futures-lite` because it breaks `cargo-auditable` (#1929).

Eliah Kagan committed 1 year ago

Commit d5dd2391 parent 705b86d1 file · +4 −1Browse files

Unified · Split

gix-packetline-blocking/Cargo.toml+4−1
@@ -21,9 +21,12 @@ default = ["blocking-io"] · 20 unmodified lines
2121 ## If set, all IO will become blocking. The same types will be used preventing side-by-side usage of blocking and non-blocking IO.
2222 blocking-io = []
2323
24−## DO NOT USE, use instead `gix-packetline` directly.
24+## DO NOT USE, instead use `gix-packetline` directly.
2525 async-io = []
2626
27+## DO NOT USE, instead use `gix-packetline` directly (and still don't specify `futures-lite`).
28+futures-lite = []
29+
2730 #! ### Other
2831 ## Data structures implement `serde::Serialize` and `serde::Deserialize`.
2932 serde = ["dep:serde", "bstr/serde"]

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t